/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:00:57,976 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:00:58,001 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:00:58,050 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:00:58,051 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:00:58,052 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:00:58,057 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:00:58,061 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:00:58,063 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:00:58,067 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:00:58,067 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:00:58,069 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:00:58,069 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:00:58,071 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:00:58,072 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:00:58,073 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:00:58,073 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:00:58,074 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:00:58,077 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:00:58,082 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:00:58,084 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:00:58,085 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:00:58,086 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:00:58,086 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:00:58,088 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:00:58,092 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:00:58,092 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:00:58,093 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:00:58,093 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:00:58,093 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:00:58,094 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:00:58,094 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:00:58,095 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:00:58,095 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:00:58,096 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:00:58,097 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:00:58,097 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:00:58,097 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:00:58,097 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:00:58,097 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:00:58,098 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:00:58,099 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:00:58,100 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 14:00:58,110 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:00:58,110 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:00:58,111 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:00:58,111 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:00:58,112 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:00:58,112 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:00:58,112 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:00:58,112 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:00:58,112 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:00:58,113 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:00:58,113 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:00:58,113 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:00:58,113 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:00:58,113 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:00:58,113 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:00:58,114 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:00:58,114 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:00:58,114 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:00:58,114 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:00:58,114 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:00:58,114 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:00:58,114 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:00:58,114 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 14:00:58,348 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:00:58,366 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:00:58,368 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:00:58,369 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:00:58,369 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:00:58,370 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound1.c [2022-04-28 14:00:58,439 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bd7de70c9/18bde7c65ed442469c69b3576d0688ea/FLAGf3558bbd7 [2022-04-28 14:00:58,796 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:00:58,797 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound1.c [2022-04-28 14:00:58,802 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bd7de70c9/18bde7c65ed442469c69b3576d0688ea/FLAGf3558bbd7 [2022-04-28 14:00:58,811 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bd7de70c9/18bde7c65ed442469c69b3576d0688ea [2022-04-28 14:00:58,813 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:00:58,814 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:00:58,815 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:00:58,815 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:00:58,818 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:00:58,819 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:00:58" (1/1) ... [2022-04-28 14:00:58,820 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@753b3430 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:58, skipping insertion in model container [2022-04-28 14:00:58,820 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:00:58" (1/1) ... [2022-04-28 14:00:58,825 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:00:58,837 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:00:58,975 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/prod4br-ll_valuebound1.c[524,537] [2022-04-28 14:00:58,993 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:00:59,000 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:00:59,010 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/prod4br-ll_valuebound1.c[524,537] [2022-04-28 14:00:59,020 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:00:59,031 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:00:59,032 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59 WrapperNode [2022-04-28 14:00:59,032 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:00:59,033 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:00:59,033 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:00:59,033 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:00:59,043 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (1/1) ... [2022-04-28 14:00:59,043 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (1/1) ... [2022-04-28 14:00:59,049 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (1/1) ... [2022-04-28 14:00:59,049 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (1/1) ... [2022-04-28 14:00:59,055 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (1/1) ... [2022-04-28 14:00:59,059 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (1/1) ... [2022-04-28 14:00:59,060 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (1/1) ... [2022-04-28 14:00:59,061 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:00:59,062 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:00:59,062 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:00:59,062 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:00:59,063 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (1/1) ... [2022-04-28 14:00:59,069 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:00:59,079 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:00:59,090 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 14:00:59,100 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 14:00:59,121 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:00:59,121 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:00:59,121 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:00:59,121 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:00:59,121 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:00:59,121 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:00:59,122 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:00:59,123 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:00:59,123 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:00:59,123 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:00:59,123 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:00:59,123 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:00:59,180 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:00:59,181 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:00:59,351 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:00:59,357 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:00:59,358 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:00:59,359 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:00:59 BoogieIcfgContainer [2022-04-28 14:00:59,359 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:00:59,361 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:00:59,361 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:00:59,363 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:00:59,364 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:00:58" (1/3) ... [2022-04-28 14:00:59,364 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6679ae20 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:00:59, skipping insertion in model container [2022-04-28 14:00:59,364 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:00:59" (2/3) ... [2022-04-28 14:00:59,365 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6679ae20 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:00:59, skipping insertion in model container [2022-04-28 14:00:59,365 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:00:59" (3/3) ... [2022-04-28 14:00:59,366 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound1.c [2022-04-28 14:00:59,377 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:00:59,377 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:00:59,413 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:00:59,419 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@30a8dde5, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@492db9dc [2022-04-28 14:00:59,419 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:00:59,426 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:00:59,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:00:59,433 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:00:59,434 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 14:00:59,434 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:00:59,438 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:00:59,439 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-28 14:00:59,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:00:59,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [826115938] [2022-04-28 14:00:59,471 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:00:59,472 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-28 14:00:59,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:00:59,475 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [750862670] [2022-04-28 14:00:59,475 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:00:59,476 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:00:59,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:00:59,669 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:00:59,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:00:59,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(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); {37#true} is VALID [2022-04-28 14:00:59,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 14:00:59,695 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 14:00:59,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:00:59,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:00:59,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:00:59,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:00:59,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:00:59,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 14:00:59,720 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 14:00:59,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:00:59,729 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:00:59,729 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:00:59,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:00:59,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 14:00:59,730 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 14:00:59,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:00:59,737 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:00:59,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:00:59,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:00:59,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 14:00:59,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 14:00:59,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {54#(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); {37#true} is VALID [2022-04-28 14:00:59,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 14:00:59,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 14:00:59,740 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-28 14:00:59,740 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {37#true} is VALID [2022-04-28 14:00:59,740 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 14:00:59,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:00:59,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:00:59,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:00:59,743 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 14:00:59,743 INFO L290 TraceCheckUtils]: 11: Hoare triple {38#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#false} is VALID [2022-04-28 14:00:59,743 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 14:00:59,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:00:59,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:00:59,744 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:00:59,744 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 14:00:59,745 INFO L272 TraceCheckUtils]: 17: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 14:00:59,745 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:00:59,747 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:00:59,747 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:00:59,747 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 14:00:59,747 INFO L290 TraceCheckUtils]: 22: Hoare triple {38#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {38#false} is VALID [2022-04-28 14:00:59,747 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-28 14:00:59,748 INFO L272 TraceCheckUtils]: 24: Hoare triple {38#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {38#false} is VALID [2022-04-28 14:00:59,748 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-28 14:00:59,748 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-28 14:00:59,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-28 14:00:59,749 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 14:00:59,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:00:59,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [750862670] [2022-04-28 14:00:59,750 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [750862670] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:00:59,750 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:00:59,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:00:59,753 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:00:59,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [826115938] [2022-04-28 14:00:59,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [826115938] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:00:59,753 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:00:59,753 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:00:59,754 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [451850055] [2022-04-28 14:00:59,754 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:00:59,758 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 14:00:59,763 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:00:59,767 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 14:00:59,802 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 14:00:59,802 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:00:59,802 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:00:59,828 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:00:59,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:00:59,833 INFO L87 Difference]: Start difference. First operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) 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 14:00:59,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:00:59,984 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-28 14:00:59,985 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:00:59,985 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 14:00:59,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:00:59,986 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 14:01:00,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 14:01:00,006 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 14:01:00,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 14:01:00,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-28 14:01:00,135 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:01:00,154 INFO L225 Difference]: With dead ends: 61 [2022-04-28 14:01:00,155 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 14:01:00,163 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 14:01:00,172 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 22 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 15 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:01:00,174 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 15 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:01:00,187 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 14:01:00,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 14:01:00,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:01:00,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:01:00,207 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:01:00,208 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:01:00,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:01:00,218 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 14:01:00,218 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:01:00,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:01:00,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:01:00,220 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-28 14:01:00,221 INFO L87 Difference]: Start difference. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-28 14:01:00,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:01:00,233 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 14:01:00,234 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:01:00,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:01:00,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:01:00,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:01:00,235 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:01:00,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:01:00,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-28 14:01:00,244 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-28 14:01:00,244 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:01:00,244 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-28 14:01:00,245 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 14:01:00,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-28 14:01:00,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:01:00,293 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:01:00,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:01:00,294 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:01:00,294 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 14:01:00,295 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:01:00,295 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:01:00,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:01:00,296 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-28 14:01:00,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:01:00,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [148414994] [2022-04-28 14:01:00,299 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:01:00,299 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-28 14:01:00,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:01:00,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2105014179] [2022-04-28 14:01:00,303 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:01:00,303 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:01:00,345 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:01:00,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1527144197] [2022-04-28 14:01:00,346 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:01:00,346 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:01:00,346 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:01:00,347 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 14:01:00,350 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 14:01:00,403 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:01:00,404 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:01:00,420 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 14:01:00,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:01:00,440 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:01:00,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-28 14:01:00,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#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); {295#true} is VALID [2022-04-28 14:01:00,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:01:00,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-28 14:01:00,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-28 14:01:00,679 INFO L290 TraceCheckUtils]: 5: Hoare triple {295#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {295#true} is VALID [2022-04-28 14:01:00,683 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {295#true} is VALID [2022-04-28 14:01:00,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:01:00,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:01:00,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:01:00,686 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-28 14:01:00,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {295#true} is VALID [2022-04-28 14:01:00,687 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {295#true} is VALID [2022-04-28 14:01:00,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:01:00,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:01:00,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:01:00,688 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-28 14:01:00,688 INFO L272 TraceCheckUtils]: 17: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {295#true} is VALID [2022-04-28 14:01:00,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:01:00,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:01:00,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:01:00,689 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-28 14:01:00,692 INFO L290 TraceCheckUtils]: 22: Hoare triple {295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:01:00,693 INFO L290 TraceCheckUtils]: 23: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:01:00,694 INFO L272 TraceCheckUtils]: 24: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {373#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:01:00,695 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:01:00,696 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-28 14:01:00,696 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-28 14:01:00,697 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 14:01:00,697 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:01:00,697 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:01:00,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2105014179] [2022-04-28 14:01:00,698 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:01:00,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1527144197] [2022-04-28 14:01:00,700 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1527144197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:01:00,700 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:01:00,700 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:01:00,701 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:01:00,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [148414994] [2022-04-28 14:01:00,701 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [148414994] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:01:00,702 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:01:00,702 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:01:00,702 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [490196222] [2022-04-28 14:01:00,702 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:01:00,703 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 14:01:00,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:01:00,704 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 14:01:00,724 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 14:01:00,725 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:01:00,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:01:00,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:01:00,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:01:00,727 INFO L87 Difference]: Start difference. First operand 29 states and 36 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 14:01:00,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:01:00,965 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-28 14:01:00,965 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:01:00,965 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 14:01:00,965 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:01:00,966 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 14:01:00,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 14:01:00,968 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 14:01:00,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 14:01:00,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 14:01:01,028 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 14:01:01,032 INFO L225 Difference]: With dead ends: 43 [2022-04-28 14:01:01,033 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 14:01:01,038 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 14:01:01,041 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 9 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:01:01,046 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 92 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:01:01,047 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 14:01:01,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-28 14:01:01,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:01:01,070 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:01:01,071 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:01:01,072 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:01:01,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:01:01,075 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 14:01:01,076 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 14:01:01,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:01:01,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:01:01,077 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 14:01:01,077 INFO L87 Difference]: Start difference. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 14:01:01,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:01:01,080 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 14:01:01,080 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 14:01:01,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:01:01,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:01:01,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:01:01,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:01:01,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:01:01,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-28 14:01:01,092 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-28 14:01:01,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:01:01,092 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-28 14:01:01,093 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 14:01:01,093 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-28 14:01:01,144 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:01:01,144 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-28 14:01:01,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:01:01,145 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:01:01,145 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 14:01:01,172 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 14:01:01,367 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 14:01:01,368 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:01:01,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:01:01,368 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-28 14:01:01,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:01:01,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1665747777] [2022-04-28 14:01:01,369 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:01:01,369 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-28 14:01:01,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:01:01,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [626894926] [2022-04-28 14:01:01,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:01:01,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:01:01,389 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:01:01,389 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [557368738] [2022-04-28 14:01:01,389 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:01:01,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:01:01,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:01:01,391 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 14:01:01,407 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 14:01:01,441 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:01:01,442 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:01:01,443 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 14:01:01,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:01:01,460 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:01:12,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 14:01:12,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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); {623#true} is VALID [2022-04-28 14:01:12,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:01:12,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 14:01:12,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 14:01:12,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {623#true} is VALID [2022-04-28 14:01:12,255 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:01:12,256 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:01:12,256 INFO L290 TraceCheckUtils]: 8: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:01:12,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:01:12,257 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #71#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:01:12,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:01:12,258 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:01:12,258 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:01:12,259 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:01:12,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:01:12,259 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #73#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:01:12,259 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:01:12,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:01:12,260 INFO L290 TraceCheckUtils]: 19: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:01:12,261 INFO L290 TraceCheckUtils]: 20: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:01:12,261 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #75#return; {694#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0))} is VALID [2022-04-28 14:01:12,262 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {698#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 14:01:12,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !false; {698#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 14:01:12,262 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-28 14:01:12,263 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:01:12,263 INFO L290 TraceCheckUtils]: 26: Hoare triple {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:01:12,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:01:14,266 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {698#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} #77#return; {719#(and (<= 0 main_~x~0) (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~x~0 1) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-28 14:01:14,268 INFO L290 TraceCheckUtils]: 29: Hoare triple {719#(and (<= 0 main_~x~0) (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~x~0 1) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 14:01:14,270 INFO L272 TraceCheckUtils]: 30: Hoare triple {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:01:14,271 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:01:14,272 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 14:01:14,272 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 14:01:14,272 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:01:14,272 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:01:53,946 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 14:01:53,947 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 14:01:53,948 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:01:53,949 INFO L272 TraceCheckUtils]: 30: Hoare triple {747#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:01:53,950 INFO L290 TraceCheckUtils]: 29: Hoare triple {751#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {747#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:01:53,952 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {623#true} #77#return; {751#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-28 14:01:53,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:01:53,953 INFO L290 TraceCheckUtils]: 26: Hoare triple {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:01:53,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:01:53,955 INFO L272 TraceCheckUtils]: 24: Hoare triple {623#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-28 14:01:53,955 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-28 14:01:53,955 INFO L290 TraceCheckUtils]: 22: Hoare triple {623#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {623#true} is VALID [2022-04-28 14:01:53,957 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-28 14:01:53,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:01:53,967 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:01:53,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:01:53,967 INFO L272 TraceCheckUtils]: 17: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:01:53,968 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-28 14:01:53,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:01:53,968 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:01:53,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:01:53,968 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:01:53,968 INFO L290 TraceCheckUtils]: 11: Hoare triple {623#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {623#true} is VALID [2022-04-28 14:01:53,968 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-28 14:01:53,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:01:53,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:01:53,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:01:53,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:01:53,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {623#true} is VALID [2022-04-28 14:01:53,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 14:01:53,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 14:01:53,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:01:53,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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); {623#true} is VALID [2022-04-28 14:01:53,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 14:01:53,970 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:01:53,970 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:01:53,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [626894926] [2022-04-28 14:01:53,970 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:01:53,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [557368738] [2022-04-28 14:01:53,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [557368738] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:01:53,971 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:01:53,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-28 14:01:53,971 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:01:53,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1665747777] [2022-04-28 14:01:53,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1665747777] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:01:53,971 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:01:53,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:01:53,972 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1097294313] [2022-04-28 14:01:53,972 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:01:53,972 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-28 14:01:53,972 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:01:53,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:01:56,011 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 14:01:56,011 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:01:56,011 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:01:56,012 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:01:56,012 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-28 14:01:56,012 INFO L87 Difference]: Start difference. First operand 35 states and 42 transitions. Second operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:01:58,614 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 14:02:02,034 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 14:02:02,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:02,113 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 14:02:02,113 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:02:02,114 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-28 14:02:02,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:02,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:02,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 14:02:02,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:02,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 14:02:02,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 14:02:02,175 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 14:02:02,177 INFO L225 Difference]: With dead ends: 47 [2022-04-28 14:02:02,177 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 14:02:02,178 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-28 14:02:02,179 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 227 mSolverCounterSat, 10 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 227 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:02:02,179 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 227 Invalid, 2 Unknown, 0 Unchecked, 5.1s Time] [2022-04-28 14:02:02,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 14:02:02,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-28 14:02:02,231 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:02,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:02,232 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:02,232 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:02,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:02,235 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 14:02:02,235 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 14:02:02,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:02,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:02,236 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 14:02:02,236 INFO L87 Difference]: Start difference. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 14:02:02,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:02,239 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 14:02:02,239 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 14:02:02,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:02,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:02,240 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:02,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:02,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:02,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 14:02:02,242 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-28 14:02:02,242 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:02,242 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 14:02:02,242 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:02,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 14:02:02,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:02,307 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 14:02:02,308 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 14:02:02,308 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:02,308 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] [2022-04-28 14:02:02,334 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 14:02:02,509 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 14:02:02,509 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:02,509 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:02,510 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-28 14:02:02,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:02,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1962311034] [2022-04-28 14:02:02,510 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:02,510 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-28 14:02:02,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:02,511 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [297241427] [2022-04-28 14:02:02,511 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:02,511 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:02,527 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:02:02,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [414015299] [2022-04-28 14:02:02,527 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:02:02,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:02,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:02,529 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 14:02:02,536 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 14:02:02,592 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:02:02,592 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:02:02,593 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 14:02:02,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:02,605 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:02:02,918 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 14:02:02,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#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); {1116#true} is VALID [2022-04-28 14:02:02,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:02:02,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 14:02:02,919 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 14:02:02,919 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1116#true} is VALID [2022-04-28 14:02:02,919 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:02:02,919 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:02:02,919 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:02:02,920 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:02:02,920 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-28 14:02:02,920 INFO L290 TraceCheckUtils]: 11: Hoare triple {1116#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1116#true} is VALID [2022-04-28 14:02:02,920 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:02:02,920 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1160#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:02,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {1160#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1164#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:02,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {1164#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1164#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:02,922 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1164#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #73#return; {1171#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 14:02:02,922 INFO L272 TraceCheckUtils]: 17: Hoare triple {1171#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:02:02,923 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1160#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:02,923 INFO L290 TraceCheckUtils]: 19: Hoare triple {1160#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1164#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:02,924 INFO L290 TraceCheckUtils]: 20: Hoare triple {1164#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1164#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:02,924 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1164#(not (= |assume_abort_if_not_#in~cond| 0))} {1171#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #75#return; {1187#(and (<= 1 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 14:02:02,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {1187#(and (<= 1 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:02,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume !false; {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:02,925 INFO L272 TraceCheckUtils]: 24: Hoare triple {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:02:02,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:02:02,926 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:02:02,926 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:02:02,926 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} #77#return; {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:02,927 INFO L290 TraceCheckUtils]: 29: Hoare triple {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:02,928 INFO L290 TraceCheckUtils]: 30: Hoare triple {1191#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1117#false} is VALID [2022-04-28 14:02:02,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 14:02:02,928 INFO L272 TraceCheckUtils]: 32: Hoare triple {1117#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1117#false} is VALID [2022-04-28 14:02:02,929 INFO L290 TraceCheckUtils]: 33: Hoare triple {1117#false} ~cond := #in~cond; {1117#false} is VALID [2022-04-28 14:02:02,929 INFO L290 TraceCheckUtils]: 34: Hoare triple {1117#false} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 14:02:02,929 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 14:02:02,929 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:02:02,929 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:02:02,929 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:02:02,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [297241427] [2022-04-28 14:02:02,930 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:02:02,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [414015299] [2022-04-28 14:02:02,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [414015299] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:02,930 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:02,930 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 14:02:02,930 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:02:02,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1962311034] [2022-04-28 14:02:02,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1962311034] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:02,930 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:02,931 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 14:02:02,931 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [913154077] [2022-04-28 14:02:02,931 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:02:02,931 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 14:02:02,932 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:02:02,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:02,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:02,963 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 14:02:02,963 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:02,964 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 14:02:02,964 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-28 14:02:02,964 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:03,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:03,276 INFO L93 Difference]: Finished difference Result 59 states and 75 transitions. [2022-04-28 14:02:03,276 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 14:02:03,276 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 14:02:03,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:03,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:03,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2022-04-28 14:02:03,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:03,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2022-04-28 14:02:03,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 69 transitions. [2022-04-28 14:02:03,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:03,343 INFO L225 Difference]: With dead ends: 59 [2022-04-28 14:02:03,343 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 14:02:03,344 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-28 14:02:03,345 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 35 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 83 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:02:03,345 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 96 Invalid, 83 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:02:03,345 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 14:02:03,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-28 14:02:03,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:03,409 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 29 states have internal predecessors, (33), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:03,409 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 29 states have internal predecessors, (33), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:03,410 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 29 states have internal predecessors, (33), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:03,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:03,412 INFO L93 Difference]: Finished difference Result 45 states and 54 transitions. [2022-04-28 14:02:03,412 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 54 transitions. [2022-04-28 14:02:03,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:03,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:03,413 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 29 states have internal predecessors, (33), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 14:02:03,413 INFO L87 Difference]: Start difference. First operand has 43 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 29 states have internal predecessors, (33), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 14:02:03,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:03,415 INFO L93 Difference]: Finished difference Result 45 states and 54 transitions. [2022-04-28 14:02:03,416 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 54 transitions. [2022-04-28 14:02:03,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:03,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:03,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:03,416 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:03,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 29 states have internal predecessors, (33), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:03,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 51 transitions. [2022-04-28 14:02:03,418 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 51 transitions. Word has length 36 [2022-04-28 14:02:03,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:03,418 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 51 transitions. [2022-04-28 14:02:03,419 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:03,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 51 transitions. [2022-04-28 14:02:03,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:03,488 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 51 transitions. [2022-04-28 14:02:03,489 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 14:02:03,489 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:03,489 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:02:03,517 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 14:02:03,690 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 14:02:03,690 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:03,690 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:03,690 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-28 14:02:03,691 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:03,691 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1673529471] [2022-04-28 14:02:03,691 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:03,691 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-28 14:02:03,691 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:03,691 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1051937596] [2022-04-28 14:02:03,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:03,691 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:03,708 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:02:03,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [244446064] [2022-04-28 14:02:03,708 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:02:03,708 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:03,708 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:03,712 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 14:02:03,713 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 14:02:03,764 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:02:03,764 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:02:03,765 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 14:02:03,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:03,778 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:02:04,082 INFO L272 TraceCheckUtils]: 0: Hoare triple {1528#true} call ULTIMATE.init(); {1528#true} is VALID [2022-04-28 14:02:04,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {1528#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); {1528#true} is VALID [2022-04-28 14:02:04,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1528#true} {1528#true} #83#return; {1528#true} is VALID [2022-04-28 14:02:04,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {1528#true} call #t~ret6 := main(); {1528#true} is VALID [2022-04-28 14:02:04,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {1528#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1528#true} is VALID [2022-04-28 14:02:04,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {1528#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {1528#true} ~cond := #in~cond; {1554#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:04,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {1554#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1558#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:04,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {1558#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1558#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:04,085 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1558#(not (= |assume_abort_if_not_#in~cond| 0))} {1528#true} #71#return; {1565#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:04,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {1565#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1565#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:04,086 INFO L272 TraceCheckUtils]: 12: Hoare triple {1565#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,086 INFO L290 TraceCheckUtils]: 13: Hoare triple {1528#true} ~cond := #in~cond; {1528#true} is VALID [2022-04-28 14:02:04,086 INFO L290 TraceCheckUtils]: 14: Hoare triple {1528#true} assume !(0 == ~cond); {1528#true} is VALID [2022-04-28 14:02:04,086 INFO L290 TraceCheckUtils]: 15: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,087 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1528#true} {1565#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #73#return; {1565#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:04,087 INFO L272 TraceCheckUtils]: 17: Hoare triple {1565#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,088 INFO L290 TraceCheckUtils]: 18: Hoare triple {1528#true} ~cond := #in~cond; {1554#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:04,088 INFO L290 TraceCheckUtils]: 19: Hoare triple {1554#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1558#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:04,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {1558#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1558#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:04,089 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1558#(not (= |assume_abort_if_not_#in~cond| 0))} {1565#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #75#return; {1599#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0))} is VALID [2022-04-28 14:02:04,090 INFO L290 TraceCheckUtils]: 22: Hoare triple {1599#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1603#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:04,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {1603#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {1603#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:04,090 INFO L272 TraceCheckUtils]: 24: Hoare triple {1603#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,091 INFO L290 TraceCheckUtils]: 25: Hoare triple {1528#true} ~cond := #in~cond; {1528#true} is VALID [2022-04-28 14:02:04,091 INFO L290 TraceCheckUtils]: 26: Hoare triple {1528#true} assume !(0 == ~cond); {1528#true} is VALID [2022-04-28 14:02:04,091 INFO L290 TraceCheckUtils]: 27: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,092 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1528#true} {1603#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {1603#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:04,092 INFO L290 TraceCheckUtils]: 29: Hoare triple {1603#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {1625#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:04,092 INFO L272 TraceCheckUtils]: 30: Hoare triple {1625#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,092 INFO L290 TraceCheckUtils]: 31: Hoare triple {1528#true} ~cond := #in~cond; {1528#true} is VALID [2022-04-28 14:02:04,092 INFO L290 TraceCheckUtils]: 32: Hoare triple {1528#true} assume !(0 == ~cond); {1528#true} is VALID [2022-04-28 14:02:04,093 INFO L290 TraceCheckUtils]: 33: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,093 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1528#true} {1625#(and (= main_~a~0 0) (<= 1 main_~b~0))} #79#return; {1625#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:02:04,094 INFO L272 TraceCheckUtils]: 35: Hoare triple {1625#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {1644#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:02:04,095 INFO L290 TraceCheckUtils]: 36: Hoare triple {1644#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1648#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:04,095 INFO L290 TraceCheckUtils]: 37: Hoare triple {1648#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1529#false} is VALID [2022-04-28 14:02:04,095 INFO L290 TraceCheckUtils]: 38: Hoare triple {1529#false} assume !false; {1529#false} is VALID [2022-04-28 14:02:04,095 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:02:04,096 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:02:04,376 INFO L290 TraceCheckUtils]: 38: Hoare triple {1529#false} assume !false; {1529#false} is VALID [2022-04-28 14:02:04,377 INFO L290 TraceCheckUtils]: 37: Hoare triple {1648#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1529#false} is VALID [2022-04-28 14:02:04,377 INFO L290 TraceCheckUtils]: 36: Hoare triple {1644#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1648#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:04,378 INFO L272 TraceCheckUtils]: 35: Hoare triple {1664#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {1644#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:02:04,379 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1528#true} {1664#(= (* main_~b~0 main_~a~0) 0)} #79#return; {1664#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 14:02:04,379 INFO L290 TraceCheckUtils]: 33: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,379 INFO L290 TraceCheckUtils]: 32: Hoare triple {1528#true} assume !(0 == ~cond); {1528#true} is VALID [2022-04-28 14:02:04,379 INFO L290 TraceCheckUtils]: 31: Hoare triple {1528#true} ~cond := #in~cond; {1528#true} is VALID [2022-04-28 14:02:04,379 INFO L272 TraceCheckUtils]: 30: Hoare triple {1664#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,381 INFO L290 TraceCheckUtils]: 29: Hoare triple {1528#true} assume !(0 != ~a~0 && 0 != ~b~0); {1664#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 14:02:04,381 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1528#true} {1528#true} #77#return; {1528#true} is VALID [2022-04-28 14:02:04,381 INFO L290 TraceCheckUtils]: 27: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,381 INFO L290 TraceCheckUtils]: 26: Hoare triple {1528#true} assume !(0 == ~cond); {1528#true} is VALID [2022-04-28 14:02:04,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {1528#true} ~cond := #in~cond; {1528#true} is VALID [2022-04-28 14:02:04,381 INFO L272 TraceCheckUtils]: 24: Hoare triple {1528#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,381 INFO L290 TraceCheckUtils]: 23: Hoare triple {1528#true} assume !false; {1528#true} is VALID [2022-04-28 14:02:04,381 INFO L290 TraceCheckUtils]: 22: Hoare triple {1528#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1528#true} {1528#true} #75#return; {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L290 TraceCheckUtils]: 19: Hoare triple {1528#true} assume !(0 == ~cond); {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {1528#true} ~cond := #in~cond; {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L272 TraceCheckUtils]: 17: Hoare triple {1528#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1528#true} {1528#true} #73#return; {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L290 TraceCheckUtils]: 14: Hoare triple {1528#true} assume !(0 == ~cond); {1528#true} is VALID [2022-04-28 14:02:04,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {1528#true} ~cond := #in~cond; {1528#true} is VALID [2022-04-28 14:02:04,383 INFO L272 TraceCheckUtils]: 12: Hoare triple {1528#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,383 INFO L290 TraceCheckUtils]: 11: Hoare triple {1528#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1528#true} is VALID [2022-04-28 14:02:04,383 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1528#true} {1528#true} #71#return; {1528#true} is VALID [2022-04-28 14:02:04,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {1528#true} assume !(0 == ~cond); {1528#true} is VALID [2022-04-28 14:02:04,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {1528#true} ~cond := #in~cond; {1528#true} is VALID [2022-04-28 14:02:04,383 INFO L272 TraceCheckUtils]: 6: Hoare triple {1528#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1528#true} is VALID [2022-04-28 14:02:04,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {1528#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1528#true} is VALID [2022-04-28 14:02:04,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {1528#true} call #t~ret6 := main(); {1528#true} is VALID [2022-04-28 14:02:04,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1528#true} {1528#true} #83#return; {1528#true} is VALID [2022-04-28 14:02:04,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {1528#true} assume true; {1528#true} is VALID [2022-04-28 14:02:04,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {1528#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); {1528#true} is VALID [2022-04-28 14:02:04,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {1528#true} call ULTIMATE.init(); {1528#true} is VALID [2022-04-28 14:02:04,384 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 14:02:04,385 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:02:04,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1051937596] [2022-04-28 14:02:04,385 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:02:04,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [244446064] [2022-04-28 14:02:04,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [244446064] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 14:02:04,385 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 14:02:04,385 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 14:02:04,385 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:02:04,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1673529471] [2022-04-28 14:02:04,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1673529471] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:04,386 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:04,386 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:02:04,386 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [79414229] [2022-04-28 14:02:04,386 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:02:04,386 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 14:02:04,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:02:04,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:02:04,411 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:04,411 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:02:04,412 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:04,412 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:02:04,412 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-28 14:02:04,412 INFO L87 Difference]: Start difference. First operand 43 states and 51 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:02:04,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:04,815 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-28 14:02:04,816 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:02:04,816 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 14:02:04,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:04,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:02:04,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 14:02:04,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:02:04,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 14:02:04,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-28 14:02:04,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:04,885 INFO L225 Difference]: With dead ends: 49 [2022-04-28 14:02:04,885 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 14:02:04,886 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:02:04,886 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:02:04,887 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 125 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:02:04,887 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 14:02:04,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-28 14:02:04,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:04,947 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 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 14:02:04,947 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 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 14:02:04,947 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 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 14:02:04,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:04,949 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:02:04,949 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:02:04,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:04,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:04,949 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 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 37 states. [2022-04-28 14:02:04,949 INFO L87 Difference]: Start difference. First operand has 37 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 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 37 states. [2022-04-28 14:02:04,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:04,951 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:02:04,951 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:02:04,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:04,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:04,951 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:04,952 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:04,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 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 14:02:04,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 43 transitions. [2022-04-28 14:02:04,953 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 43 transitions. Word has length 39 [2022-04-28 14:02:04,953 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:04,954 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 43 transitions. [2022-04-28 14:02:04,954 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:02:04,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 43 transitions. [2022-04-28 14:02:05,019 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 14:02:05,019 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:02:05,020 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:02:05,020 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:05,020 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, 1] [2022-04-28 14:02:05,043 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 14:02:05,235 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 14:02:05,235 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:05,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:05,236 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-28 14:02:05,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:05,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1876326599] [2022-04-28 14:02:05,236 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:05,237 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-28 14:02:05,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:05,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128965320] [2022-04-28 14:02:05,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:05,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:05,255 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:02:05,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [115825058] [2022-04-28 14:02:05,256 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:02:05,256 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:05,256 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:05,265 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:02:05,266 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 14:02:05,312 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:02:05,312 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:02:05,313 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 14:02:05,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:05,325 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:02:05,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {2020#true} call ULTIMATE.init(); {2020#true} is VALID [2022-04-28 14:02:05,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {2020#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); {2020#true} is VALID [2022-04-28 14:02:05,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {2020#true} assume true; {2020#true} is VALID [2022-04-28 14:02:05,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2020#true} {2020#true} #83#return; {2020#true} is VALID [2022-04-28 14:02:05,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {2020#true} call #t~ret6 := main(); {2020#true} is VALID [2022-04-28 14:02:05,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {2020#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2020#true} is VALID [2022-04-28 14:02:05,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {2020#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2020#true} is VALID [2022-04-28 14:02:05,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {2020#true} ~cond := #in~cond; {2046#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:05,639 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2050#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:05,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {2050#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2050#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:05,640 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2050#(not (= |assume_abort_if_not_#in~cond| 0))} {2020#true} #71#return; {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:05,641 INFO L290 TraceCheckUtils]: 11: Hoare triple {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:05,641 INFO L272 TraceCheckUtils]: 12: Hoare triple {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2020#true} is VALID [2022-04-28 14:02:05,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {2020#true} ~cond := #in~cond; {2020#true} is VALID [2022-04-28 14:02:05,641 INFO L290 TraceCheckUtils]: 14: Hoare triple {2020#true} assume !(0 == ~cond); {2020#true} is VALID [2022-04-28 14:02:05,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {2020#true} assume true; {2020#true} is VALID [2022-04-28 14:02:05,642 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2020#true} {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #73#return; {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:05,642 INFO L272 TraceCheckUtils]: 17: Hoare triple {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2020#true} is VALID [2022-04-28 14:02:05,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {2020#true} ~cond := #in~cond; {2020#true} is VALID [2022-04-28 14:02:05,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {2020#true} assume !(0 == ~cond); {2020#true} is VALID [2022-04-28 14:02:05,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {2020#true} assume true; {2020#true} is VALID [2022-04-28 14:02:05,643 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2020#true} {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #75#return; {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:05,643 INFO L290 TraceCheckUtils]: 22: Hoare triple {2057#(and (<= 0 main_~x~0) (<= main_~x~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2094#(and (<= main_~a~0 1) (<= 0 main_~a~0))} is VALID [2022-04-28 14:02:05,644 INFO L290 TraceCheckUtils]: 23: Hoare triple {2094#(and (<= main_~a~0 1) (<= 0 main_~a~0))} assume !false; {2094#(and (<= main_~a~0 1) (<= 0 main_~a~0))} is VALID [2022-04-28 14:02:05,644 INFO L272 TraceCheckUtils]: 24: Hoare triple {2094#(and (<= main_~a~0 1) (<= 0 main_~a~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2020#true} is VALID [2022-04-28 14:02:05,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {2020#true} ~cond := #in~cond; {2020#true} is VALID [2022-04-28 14:02:05,644 INFO L290 TraceCheckUtils]: 26: Hoare triple {2020#true} assume !(0 == ~cond); {2020#true} is VALID [2022-04-28 14:02:05,644 INFO L290 TraceCheckUtils]: 27: Hoare triple {2020#true} assume true; {2020#true} is VALID [2022-04-28 14:02:05,645 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2020#true} {2094#(and (<= main_~a~0 1) (<= 0 main_~a~0))} #77#return; {2094#(and (<= main_~a~0 1) (<= 0 main_~a~0))} is VALID [2022-04-28 14:02:05,646 INFO L290 TraceCheckUtils]: 29: Hoare triple {2094#(and (<= main_~a~0 1) (<= 0 main_~a~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {2116#(and (<= main_~a~0 1) (<= 0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 14:02:05,652 INFO L290 TraceCheckUtils]: 30: Hoare triple {2116#(and (<= main_~a~0 1) (<= 0 main_~a~0) (not (= main_~a~0 0)))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2116#(and (<= main_~a~0 1) (<= 0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 14:02:05,653 INFO L290 TraceCheckUtils]: 31: Hoare triple {2116#(and (<= main_~a~0 1) (<= 0 main_~a~0) (not (= main_~a~0 0)))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2116#(and (<= main_~a~0 1) (<= 0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 14:02:05,654 INFO L290 TraceCheckUtils]: 32: Hoare triple {2116#(and (<= main_~a~0 1) (<= 0 main_~a~0) (not (= main_~a~0 0)))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {2021#false} is VALID [2022-04-28 14:02:05,654 INFO L290 TraceCheckUtils]: 33: Hoare triple {2021#false} assume !false; {2021#false} is VALID [2022-04-28 14:02:05,654 INFO L272 TraceCheckUtils]: 34: Hoare triple {2021#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2021#false} is VALID [2022-04-28 14:02:05,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {2021#false} ~cond := #in~cond; {2021#false} is VALID [2022-04-28 14:02:05,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {2021#false} assume 0 == ~cond; {2021#false} is VALID [2022-04-28 14:02:05,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {2021#false} assume !false; {2021#false} is VALID [2022-04-28 14:02:05,656 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:02:05,657 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:02:06,305 INFO L290 TraceCheckUtils]: 37: Hoare triple {2021#false} assume !false; {2021#false} is VALID [2022-04-28 14:02:06,305 INFO L290 TraceCheckUtils]: 36: Hoare triple {2021#false} assume 0 == ~cond; {2021#false} is VALID [2022-04-28 14:02:06,305 INFO L290 TraceCheckUtils]: 35: Hoare triple {2021#false} ~cond := #in~cond; {2021#false} is VALID [2022-04-28 14:02:06,305 INFO L272 TraceCheckUtils]: 34: Hoare triple {2021#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2021#false} is VALID [2022-04-28 14:02:06,305 INFO L290 TraceCheckUtils]: 33: Hoare triple {2021#false} assume !false; {2021#false} is VALID [2022-04-28 14:02:06,306 INFO L290 TraceCheckUtils]: 32: Hoare triple {2156#(and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0)))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {2021#false} is VALID [2022-04-28 14:02:06,307 INFO L290 TraceCheckUtils]: 31: Hoare triple {2156#(and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0)))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2156#(and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 14:02:06,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {2156#(and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0)))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2156#(and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 14:02:06,308 INFO L290 TraceCheckUtils]: 29: Hoare triple {2166#(or (= main_~a~0 0) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {2156#(and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 14:02:06,308 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2020#true} {2166#(or (= main_~a~0 0) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} #77#return; {2166#(or (= main_~a~0 0) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-28 14:02:06,308 INFO L290 TraceCheckUtils]: 27: Hoare triple {2020#true} assume true; {2020#true} is VALID [2022-04-28 14:02:06,308 INFO L290 TraceCheckUtils]: 26: Hoare triple {2020#true} assume !(0 == ~cond); {2020#true} is VALID [2022-04-28 14:02:06,309 INFO L290 TraceCheckUtils]: 25: Hoare triple {2020#true} ~cond := #in~cond; {2020#true} is VALID [2022-04-28 14:02:06,309 INFO L272 TraceCheckUtils]: 24: Hoare triple {2166#(or (= main_~a~0 0) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2020#true} is VALID [2022-04-28 14:02:06,310 INFO L290 TraceCheckUtils]: 23: Hoare triple {2166#(or (= main_~a~0 0) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} assume !false; {2166#(or (= main_~a~0 0) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-28 14:02:06,310 INFO L290 TraceCheckUtils]: 22: Hoare triple {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2166#(or (= main_~a~0 0) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-28 14:02:06,311 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2020#true} {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} #75#return; {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} is VALID [2022-04-28 14:02:06,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {2020#true} assume true; {2020#true} is VALID [2022-04-28 14:02:06,311 INFO L290 TraceCheckUtils]: 19: Hoare triple {2020#true} assume !(0 == ~cond); {2020#true} is VALID [2022-04-28 14:02:06,311 INFO L290 TraceCheckUtils]: 18: Hoare triple {2020#true} ~cond := #in~cond; {2020#true} is VALID [2022-04-28 14:02:06,311 INFO L272 TraceCheckUtils]: 17: Hoare triple {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2020#true} is VALID [2022-04-28 14:02:06,312 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2020#true} {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} #73#return; {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} is VALID [2022-04-28 14:02:06,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {2020#true} assume true; {2020#true} is VALID [2022-04-28 14:02:06,312 INFO L290 TraceCheckUtils]: 14: Hoare triple {2020#true} assume !(0 == ~cond); {2020#true} is VALID [2022-04-28 14:02:06,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {2020#true} ~cond := #in~cond; {2020#true} is VALID [2022-04-28 14:02:06,312 INFO L272 TraceCheckUtils]: 12: Hoare triple {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2020#true} is VALID [2022-04-28 14:02:06,313 INFO L290 TraceCheckUtils]: 11: Hoare triple {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} is VALID [2022-04-28 14:02:06,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2050#(not (= |assume_abort_if_not_#in~cond| 0))} {2020#true} #71#return; {2188#(or (= main_~x~0 0) (and (not (< main_~x~0 0)) (not (<= (mod main_~x~0 2) 0))))} is VALID [2022-04-28 14:02:06,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {2050#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2050#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:06,314 INFO L290 TraceCheckUtils]: 8: Hoare triple {2234#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2050#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:06,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {2020#true} ~cond := #in~cond; {2234#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:02:06,314 INFO L272 TraceCheckUtils]: 6: Hoare triple {2020#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2020#true} is VALID [2022-04-28 14:02:06,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {2020#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2020#true} is VALID [2022-04-28 14:02:06,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {2020#true} call #t~ret6 := main(); {2020#true} is VALID [2022-04-28 14:02:06,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2020#true} {2020#true} #83#return; {2020#true} is VALID [2022-04-28 14:02:06,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {2020#true} assume true; {2020#true} is VALID [2022-04-28 14:02:06,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {2020#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); {2020#true} is VALID [2022-04-28 14:02:06,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {2020#true} call ULTIMATE.init(); {2020#true} is VALID [2022-04-28 14:02:06,315 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:02:06,315 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:02:06,315 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128965320] [2022-04-28 14:02:06,315 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:02:06,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [115825058] [2022-04-28 14:02:06,316 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [115825058] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:02:06,316 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:02:06,316 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 11 [2022-04-28 14:02:06,316 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:02:06,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1876326599] [2022-04-28 14:02:06,316 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1876326599] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:06,316 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:06,316 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 14:02:06,317 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2100291290] [2022-04-28 14:02:06,317 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:02:06,317 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 7 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-28 14:02:06,317 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:02:06,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 7 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:06,344 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:06,344 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 14:02:06,345 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:06,345 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 14:02:06,345 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-28 14:02:06,345 INFO L87 Difference]: Start difference. First operand 37 states and 43 transitions. Second operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 7 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:06,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:06,630 INFO L93 Difference]: Finished difference Result 50 states and 60 transitions. [2022-04-28 14:02:06,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 14:02:06,630 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 7 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-28 14:02:06,631 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:06,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 7 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:06,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 51 transitions. [2022-04-28 14:02:06,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 7 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:06,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 51 transitions. [2022-04-28 14:02:06,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 51 transitions. [2022-04-28 14:02:06,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:06,695 INFO L225 Difference]: With dead ends: 50 [2022-04-28 14:02:06,695 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 14:02:06,695 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 66 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 14:02:06,696 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 12 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:02:06,696 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 96 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:02:06,697 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 14:02:06,762 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-28 14:02:06,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:06,762 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.125) internal successors, (27), 25 states have internal predecessors, (27), 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 14:02:06,763 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.125) internal successors, (27), 25 states have internal predecessors, (27), 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 14:02:06,763 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.125) internal successors, (27), 25 states have internal predecessors, (27), 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 14:02:06,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:06,764 INFO L93 Difference]: Finished difference Result 37 states and 41 transitions. [2022-04-28 14:02:06,764 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 14:02:06,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:06,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:06,765 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 24 states have (on average 1.125) internal successors, (27), 25 states have internal predecessors, (27), 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 37 states. [2022-04-28 14:02:06,765 INFO L87 Difference]: Start difference. First operand has 37 states, 24 states have (on average 1.125) internal successors, (27), 25 states have internal predecessors, (27), 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 37 states. [2022-04-28 14:02:06,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:06,766 INFO L93 Difference]: Finished difference Result 37 states and 41 transitions. [2022-04-28 14:02:06,766 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 14:02:06,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:06,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:06,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:06,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:06,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 24 states have (on average 1.125) internal successors, (27), 25 states have internal predecessors, (27), 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 14:02:06,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 41 transitions. [2022-04-28 14:02:06,767 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 41 transitions. Word has length 38 [2022-04-28 14:02:06,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:06,768 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 41 transitions. [2022-04-28 14:02:06,768 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 7 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:02:06,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 41 transitions. [2022-04-28 14:02:06,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:06,817 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 14:02:06,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:02:06,817 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:06,817 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, 1] [2022-04-28 14:02:06,843 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 14:02:07,017 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 14:02:07,018 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:07,018 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:07,018 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-28 14:02:07,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:07,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1197458422] [2022-04-28 14:02:07,019 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:07,019 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-28 14:02:07,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:07,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1106712210] [2022-04-28 14:02:07,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:07,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:07,037 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:02:07,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1902044426] [2022-04-28 14:02:07,037 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:02:07,037 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:07,038 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:07,045 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 14:02:07,045 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 14:02:07,092 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:02:07,093 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:02:07,094 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 14:02:07,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:07,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:02:08,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {2512#true} call ULTIMATE.init(); {2512#true} is VALID [2022-04-28 14:02:08,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#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); {2512#true} is VALID [2022-04-28 14:02:08,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 14:02:08,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #83#return; {2512#true} is VALID [2022-04-28 14:02:08,006 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret6 := main(); {2512#true} is VALID [2022-04-28 14:02:08,006 INFO L290 TraceCheckUtils]: 5: Hoare triple {2512#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2512#true} is VALID [2022-04-28 14:02:08,006 INFO L272 TraceCheckUtils]: 6: Hoare triple {2512#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2512#true} is VALID [2022-04-28 14:02:08,006 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} ~cond := #in~cond; {2538#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:08,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {2538#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2542#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:08,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {2542#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2542#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:08,008 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2542#(not (= |assume_abort_if_not_#in~cond| 0))} {2512#true} #71#return; {2549#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:08,008 INFO L290 TraceCheckUtils]: 11: Hoare triple {2549#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2549#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 14:02:08,008 INFO L272 TraceCheckUtils]: 12: Hoare triple {2549#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2512#true} is VALID [2022-04-28 14:02:08,009 INFO L290 TraceCheckUtils]: 13: Hoare triple {2512#true} ~cond := #in~cond; {2538#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:08,009 INFO L290 TraceCheckUtils]: 14: Hoare triple {2538#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2542#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:08,010 INFO L290 TraceCheckUtils]: 15: Hoare triple {2542#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2542#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:08,010 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2542#(not (= |assume_abort_if_not_#in~cond| 0))} {2549#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #73#return; {2568#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 14:02:08,011 INFO L272 TraceCheckUtils]: 17: Hoare triple {2568#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2512#true} is VALID [2022-04-28 14:02:08,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {2512#true} ~cond := #in~cond; {2538#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:08,011 INFO L290 TraceCheckUtils]: 19: Hoare triple {2538#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2542#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:08,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {2542#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2542#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:08,012 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2542#(not (= |assume_abort_if_not_#in~cond| 0))} {2568#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #75#return; {2584#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 14:02:08,013 INFO L290 TraceCheckUtils]: 22: Hoare triple {2584#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2588#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 14:02:08,013 INFO L290 TraceCheckUtils]: 23: Hoare triple {2588#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {2588#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 14:02:08,013 INFO L272 TraceCheckUtils]: 24: Hoare triple {2588#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2512#true} is VALID [2022-04-28 14:02:08,014 INFO L290 TraceCheckUtils]: 25: Hoare triple {2512#true} ~cond := #in~cond; {2598#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:08,014 INFO L290 TraceCheckUtils]: 26: Hoare triple {2598#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2602#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:02:08,014 INFO L290 TraceCheckUtils]: 27: Hoare triple {2602#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2602#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:02:08,015 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2602#(not (= |__VERIFIER_assert_#in~cond| 0))} {2588#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #77#return; {2588#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 14:02:08,016 INFO L290 TraceCheckUtils]: 29: Hoare triple {2588#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {2612#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 14:02:08,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {2612#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2612#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 14:02:08,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {2612#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2612#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 14:02:08,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {2612#(and (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {2622#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (<= 0 main_~x~0) (<= main_~x~0 1) (= (+ main_~a~0 1) main_~x~0) (<= 1 main_~y~0) (not (= (+ main_~a~0 1) 0)) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 14:02:08,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {2622#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (<= 0 main_~x~0) (<= main_~x~0 1) (= (+ main_~a~0 1) main_~x~0) (<= 1 main_~y~0) (not (= (+ main_~a~0 1) 0)) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {2622#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (<= 0 main_~x~0) (<= main_~x~0 1) (= (+ main_~a~0 1) main_~x~0) (<= 1 main_~y~0) (not (= (+ main_~a~0 1) 0)) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 14:02:08,021 INFO L272 TraceCheckUtils]: 34: Hoare triple {2622#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (<= 0 main_~x~0) (<= main_~x~0 1) (= (+ main_~a~0 1) main_~x~0) (<= 1 main_~y~0) (not (= (+ main_~a~0 1) 0)) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2629#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:02:08,021 INFO L290 TraceCheckUtils]: 35: Hoare triple {2629#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2633#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:08,022 INFO L290 TraceCheckUtils]: 36: Hoare triple {2633#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2513#false} is VALID [2022-04-28 14:02:08,022 INFO L290 TraceCheckUtils]: 37: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-28 14:02:08,022 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 14:02:08,022 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:02:20,520 INFO L290 TraceCheckUtils]: 37: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-28 14:02:20,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {2633#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2513#false} is VALID [2022-04-28 14:02:20,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {2629#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2633#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:20,522 INFO L272 TraceCheckUtils]: 34: Hoare triple {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2629#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:02:20,522 INFO L290 TraceCheckUtils]: 33: Hoare triple {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:02:20,528 INFO L290 TraceCheckUtils]: 32: Hoare triple {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:02:20,528 INFO L290 TraceCheckUtils]: 31: Hoare triple {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:02:20,529 INFO L290 TraceCheckUtils]: 30: Hoare triple {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:02:20,529 INFO L290 TraceCheckUtils]: 29: Hoare triple {2665#(or (= main_~a~0 0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {2649#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:02:20,530 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2602#(not (= |__VERIFIER_assert_#in~cond| 0))} {2512#true} #77#return; {2665#(or (= main_~a~0 0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 14:02:20,531 INFO L290 TraceCheckUtils]: 27: Hoare triple {2602#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2602#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:02:20,531 INFO L290 TraceCheckUtils]: 26: Hoare triple {2678#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2602#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:02:20,532 INFO L290 TraceCheckUtils]: 25: Hoare triple {2512#true} ~cond := #in~cond; {2678#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:02:20,532 INFO L272 TraceCheckUtils]: 24: Hoare triple {2512#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2512#true} is VALID [2022-04-28 14:02:20,532 INFO L290 TraceCheckUtils]: 23: Hoare triple {2512#true} assume !false; {2512#true} is VALID [2022-04-28 14:02:20,532 INFO L290 TraceCheckUtils]: 22: Hoare triple {2512#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2512#true} is VALID [2022-04-28 14:02:20,532 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2512#true} {2512#true} #75#return; {2512#true} is VALID [2022-04-28 14:02:20,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 14:02:20,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L290 TraceCheckUtils]: 18: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L272 TraceCheckUtils]: 17: Hoare triple {2512#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2512#true} {2512#true} #73#return; {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L290 TraceCheckUtils]: 15: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L272 TraceCheckUtils]: 12: Hoare triple {2512#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L290 TraceCheckUtils]: 11: Hoare triple {2512#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2512#true} is VALID [2022-04-28 14:02:20,533 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2512#true} {2512#true} #71#return; {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L272 TraceCheckUtils]: 6: Hoare triple {2512#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {2512#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret6 := main(); {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #83#return; {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 14:02:20,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#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); {2512#true} is VALID [2022-04-28 14:02:20,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {2512#true} call ULTIMATE.init(); {2512#true} is VALID [2022-04-28 14:02:20,535 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 14:02:20,535 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:02:20,535 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1106712210] [2022-04-28 14:02:20,535 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:02:20,535 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1902044426] [2022-04-28 14:02:20,535 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1902044426] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:02:20,535 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:02:20,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 8] total 17 [2022-04-28 14:02:20,536 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:02:20,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1197458422] [2022-04-28 14:02:20,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1197458422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:20,536 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:20,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 14:02:20,536 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1899150362] [2022-04-28 14:02:20,536 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:02:20,537 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 38 [2022-04-28 14:02:20,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:02:20,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:02:20,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:20,569 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 14:02:20,569 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:20,570 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 14:02:20,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:02:20,570 INFO L87 Difference]: Start difference. First operand 37 states and 41 transitions. Second operand has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:02:21,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:21,003 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2022-04-28 14:02:21,004 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:02:21,004 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 38 [2022-04-28 14:02:21,004 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:21,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:02:21,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-28 14:02:21,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:02:21,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-28 14:02:21,007 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 49 transitions. [2022-04-28 14:02:21,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:21,053 INFO L225 Difference]: With dead ends: 46 [2022-04-28 14:02:21,053 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 14:02:21,054 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=66, Invalid=276, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:02:21,054 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 20 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 151 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 151 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:02:21,054 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 111 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 151 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 14:02:21,055 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 14:02:21,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 14:02:21,055 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:21,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:02:21,055 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:02:21,055 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:02:21,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:21,055 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 14:02:21,056 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:02:21,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:21,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:21,056 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 14:02:21,056 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 14:02:21,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:21,056 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 14:02:21,056 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:02:21,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:21,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:21,056 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:21,056 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:21,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:02:21,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 14:02:21,056 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 38 [2022-04-28 14:02:21,056 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:21,056 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 14:02:21,057 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:02:21,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 14:02:21,057 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:21,057 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:02:21,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:21,059 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 14:02:21,075 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 14:02:21,259 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 14:02:21,261 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 14:02:22,307 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 5) no Hoare annotation was computed. [2022-04-28 14:02:22,307 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 5) no Hoare annotation was computed. [2022-04-28 14:02:22,307 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 5) no Hoare annotation was computed. [2022-04-28 14:02:22,308 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 8 10) the Hoare annotation is: true [2022-04-28 14:02:22,308 INFO L895 garLoopResultBuilder]: At program point L9(line 9) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 14:02:22,308 INFO L895 garLoopResultBuilder]: At program point L9-2(lines 8 10) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 14:02:22,308 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 8 10) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 14:02:22,308 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0) (<= main_~y~0 1)) [2022-04-28 14:02:22,308 INFO L902 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: true [2022-04-28 14:02:22,308 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 19 60) the Hoare annotation is: true [2022-04-28 14:02:22,308 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 19 60) the Hoare annotation is: true [2022-04-28 14:02:22,308 INFO L895 garLoopResultBuilder]: At program point L44(lines 44 54) the Hoare annotation is: (and (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-28 14:02:22,308 INFO L895 garLoopResultBuilder]: At program point L40(lines 40 54) the Hoare annotation is: (and (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-28 14:02:22,309 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 55) the Hoare annotation is: (let ((.cse0 (<= 1 main_~y~0)) (.cse1 (<= main_~y~0 1))) (or (and (<= 0 main_~x~0) (<= main_~b~0 1) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 main_~a~0) (<= 1 main_~b~0) .cse0 (= (* main_~b~0 main_~a~0) 0) .cse1) (and (<= main_~x~0 1) (<= 0 main_~a~0) (= (+ main_~a~0 1) main_~x~0) (= main_~q~0 (+ (* main_~b~0 main_~p~0) (* main_~a~0 main_~p~0) main_~p~0)) .cse0 (= (+ main_~b~0 1) main_~y~0) .cse1 (= main_~p~0 1)))) [2022-04-28 14:02:22,309 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 19 60) the Hoare annotation is: true [2022-04-28 14:02:22,309 INFO L895 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-28 14:02:22,309 INFO L895 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-28 14:02:22,309 INFO L895 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0) (= (* main_~b~0 main_~a~0) 0) (<= main_~y~0 1)) [2022-04-28 14:02:22,309 INFO L902 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: true [2022-04-28 14:02:22,309 INFO L895 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-28 14:02:22,309 INFO L895 garLoopResultBuilder]: At program point L47(lines 47 54) the Hoare annotation is: (and (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-28 14:02:22,309 INFO L895 garLoopResultBuilder]: At program point L47-2(lines 34 55) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1)) (.cse1 (<= 0 main_~a~0)) (.cse2 (<= 1 main_~y~0)) (.cse3 (<= main_~y~0 1)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 (= (+ main_~a~0 1) main_~x~0) (= main_~q~0 (+ (* main_~b~0 main_~p~0) (* main_~a~0 main_~p~0) main_~p~0)) .cse2 (= (+ main_~b~0 1) main_~y~0) .cse3 .cse4) (and .cse0 (= main_~b~0 main_~y~0) .cse1 (= main_~q~0 0) .cse2 (= main_~a~0 main_~x~0) .cse3 .cse4))) [2022-04-28 14:02:22,310 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1)) (.cse1 (<= 0 main_~a~0)) (.cse2 (<= 1 main_~y~0)) (.cse3 (<= main_~y~0 1)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 (= (+ main_~a~0 1) main_~x~0) (= main_~q~0 (+ (* main_~b~0 main_~p~0) (* main_~a~0 main_~p~0) main_~p~0)) .cse2 (= (+ main_~b~0 1) main_~y~0) .cse3 .cse4) (and .cse0 (= main_~b~0 main_~y~0) .cse1 (= main_~q~0 0) .cse2 (= main_~a~0 main_~x~0) .cse3 .cse4))) [2022-04-28 14:02:22,310 INFO L895 garLoopResultBuilder]: At program point L35-1(lines 34 55) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1)) (.cse1 (<= 0 main_~a~0)) (.cse2 (<= 1 main_~y~0)) (.cse3 (<= main_~y~0 1)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 (= (+ main_~a~0 1) main_~x~0) (= main_~q~0 (+ (* main_~b~0 main_~p~0) (* main_~a~0 main_~p~0) main_~p~0)) .cse2 (= (+ main_~b~0 1) main_~y~0) .cse3 .cse4) (and .cse0 (= main_~b~0 main_~y~0) .cse1 (= main_~q~0 0) .cse2 (= main_~a~0 main_~x~0) .cse3 .cse4))) [2022-04-28 14:02:22,310 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 14:02:22,310 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 14:02:22,310 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 14:02:22,310 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 14:02:22,310 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 14:02:22,310 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 14:02:22,310 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 14:02:22,310 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 11 17) the Hoare annotation is: true [2022-04-28 14:02:22,310 INFO L895 garLoopResultBuilder]: At program point L13(lines 13 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 14:02:22,310 INFO L895 garLoopResultBuilder]: At program point L12(lines 12 15) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:02:22,311 INFO L895 garLoopResultBuilder]: At program point L12-2(lines 11 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:02:22,311 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 11 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:02:22,311 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 14:02:22,313 INFO L356 BasicCegarLoop]: Path program histogram: [2, 2, 2, 2, 2, 2, 2] [2022-04-28 14:02:22,315 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 14:02:22,317 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 14:02:22,319 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 14:02:22,352 INFO L163 areAnnotationChecker]: CFG has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 14:02:22,361 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 02:02:22 BoogieIcfgContainer [2022-04-28 14:02:22,361 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 14:02:22,362 INFO L158 Benchmark]: Toolchain (without parser) took 83547.81ms. Allocated memory was 168.8MB in the beginning and 251.7MB in the end (delta: 82.8MB). Free memory was 116.3MB in the beginning and 91.9MB in the end (delta: 24.5MB). Peak memory consumption was 108.2MB. Max. memory is 8.0GB. [2022-04-28 14:02:22,362 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 168.8MB. Free memory is still 132.5MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 14:02:22,362 INFO L158 Benchmark]: CACSL2BoogieTranslator took 217.07ms. Allocated memory is still 168.8MB. Free memory was 116.1MB in the beginning and 143.6MB in the end (delta: -27.6MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. [2022-04-28 14:02:22,362 INFO L158 Benchmark]: Boogie Preprocessor took 28.76ms. Allocated memory is still 168.8MB. Free memory was 143.6MB in the beginning and 142.0MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 14:02:22,363 INFO L158 Benchmark]: RCFGBuilder took 297.19ms. Allocated memory is still 168.8MB. Free memory was 142.0MB in the beginning and 129.4MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-28 14:02:22,363 INFO L158 Benchmark]: TraceAbstraction took 83000.12ms. Allocated memory was 168.8MB in the beginning and 251.7MB in the end (delta: 82.8MB). Free memory was 129.0MB in the beginning and 91.9MB in the end (delta: 37.1MB). Peak memory consumption was 120.7MB. Max. memory is 8.0GB. [2022-04-28 14:02:22,364 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16ms. Allocated memory is still 168.8MB. Free memory is still 132.5MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 217.07ms. Allocated memory is still 168.8MB. Free memory was 116.1MB in the beginning and 143.6MB in the end (delta: -27.6MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 28.76ms. Allocated memory is still 168.8MB. Free memory was 143.6MB in the beginning and 142.0MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 297.19ms. Allocated memory is still 168.8MB. Free memory was 142.0MB in the beginning and 129.4MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 83000.12ms. Allocated memory was 168.8MB in the beginning and 251.7MB in the end (delta: 82.8MB). Free memory was 129.0MB in the beginning and 91.9MB in the end (delta: 37.1MB). Peak memory consumption was 120.7MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 14]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 82.9s, OverallIterations: 7, TraceHistogramMax: 3, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 8.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 2 mSolverCounterUnknown, 146 SdHoareTripleChecker+Valid, 5.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 129 mSDsluCounter, 695 SdHoareTripleChecker+Invalid, 5.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 510 mSDsCounter, 43 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 602 IncrementalHoareTripleChecker+Invalid, 647 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 43 mSolverCounterUnsat, 185 mSDtfsCounter, 602 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 382 GetRequests, 309 SyntacticMatches, 4 SemanticMatches, 69 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 0.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=43occurred in iteration=4, InterpolantAutomatonStates: 51, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.4s AutomataMinimizationTime, 7 MinimizatonAttempts, 12 StatesRemovedByMinimization, 3 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 34 LocationsWithAnnotation, 134 PreInvPairs, 185 NumberOfFragments, 468 HoareAnnotationTreeSize, 134 FomulaSimplifications, 90 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 34 FomulaSimplificationsInter, 627 FormulaSimplificationTreeSizeReductionInter, 0.8s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((((((x <= 1 && 0 <= a) && a + 1 == x) && q == b * p + a * p + p) && 1 <= y) && b + 1 == y) && y <= 1) && p == 1) || (((((((x <= 1 && b == y) && 0 <= a) && q == 0) && 1 <= y) && a == x) && y <= 1) && p == 1) - ProcedureContractResult [Line: 8]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 19]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 11]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 14:02:22,385 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...