/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 10:25:12,068 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 10:25:12,069 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 10:25:12,094 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 10:25:12,095 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 10:25:12,098 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 10:25:12,102 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 10:25:12,106 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 10:25:12,107 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 10:25:12,111 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 10:25:12,115 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 10:25:12,116 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 10:25:12,116 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 10:25:12,117 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 10:25:12,117 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 10:25:12,118 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 10:25:12,118 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 10:25:12,119 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 10:25:12,121 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 10:25:12,125 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 10:25:12,126 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 10:25:12,127 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 10:25:12,128 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 10:25:12,128 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 10:25:12,129 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 10:25:12,134 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 10:25:12,134 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 10:25:12,134 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 10:25:12,135 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 10:25:12,135 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 10:25:12,136 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 10:25:12,136 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 10:25:12,138 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 10:25:12,138 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 10:25:12,138 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 10:25:12,139 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 10:25:12,139 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 10:25:12,140 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 10:25:12,140 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 10:25:12,140 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 10:25:12,140 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 10:25:12,142 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 10:25:12,142 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 10:25:12,148 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 10:25:12,149 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 10:25:12,150 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 10:25:12,150 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 10:25:12,150 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 10:25:12,150 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 10:25:12,150 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 10:25:12,150 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 10:25:12,150 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 10:25:12,151 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 10:25:12,151 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 10:25:12,151 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 10:25:12,151 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 10:25:12,151 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 10:25:12,152 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 10:25:12,152 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 10:25:12,152 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 10:25:12,152 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 10:25:12,152 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:25:12,152 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 10:25:12,152 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 10:25:12,152 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 10:25:12,152 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 10:25:12,153 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 10:25:12,153 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 10:25:12,153 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-15 10:25:12,309 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 10:25:12,324 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 10:25:12,325 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 10:25:12,326 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 10:25:12,327 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 10:25:12,328 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c [2022-04-15 10:25:12,373 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d5f69277/aa59629fed0440d989e6a31d5149e8d9/FLAG3fde4d919 [2022-04-15 10:25:12,664 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 10:25:12,664 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c [2022-04-15 10:25:12,670 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d5f69277/aa59629fed0440d989e6a31d5149e8d9/FLAG3fde4d919 [2022-04-15 10:25:13,107 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d5f69277/aa59629fed0440d989e6a31d5149e8d9 [2022-04-15 10:25:13,108 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 10:25:13,109 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 10:25:13,110 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 10:25:13,110 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 10:25:13,115 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 10:25:13,116 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,117 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5c4ea63c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13, skipping insertion in model container [2022-04-15 10:25:13,117 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,121 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 10:25:13,129 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 10:25:13,246 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_valuebound100.c[524,537] [2022-04-15 10:25:13,259 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:25:13,264 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 10:25:13,274 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_valuebound100.c[524,537] [2022-04-15 10:25:13,281 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:25:13,294 INFO L208 MainTranslator]: Completed translation [2022-04-15 10:25:13,295 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13 WrapperNode [2022-04-15 10:25:13,295 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 10:25:13,296 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 10:25:13,296 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 10:25:13,296 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 10:25:13,303 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,303 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,307 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,307 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,311 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,314 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,315 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,316 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 10:25:13,316 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 10:25:13,316 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 10:25:13,317 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 10:25:13,317 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (1/1) ... [2022-04-15 10:25:13,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:25:13,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:25:13,338 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-15 10:25:13,343 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-15 10:25:13,363 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 10:25:13,363 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 10:25:13,363 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 10:25:13,363 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 10:25:13,363 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 10:25:13,363 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 10:25:13,364 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 10:25:13,404 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 10:25:13,406 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 10:25:13,585 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 10:25:13,589 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 10:25:13,590 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 10:25:13,591 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:25:13 BoogieIcfgContainer [2022-04-15 10:25:13,591 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 10:25:13,592 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 10:25:13,592 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 10:25:13,594 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 10:25:13,594 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 10:25:13" (1/3) ... [2022-04-15 10:25:13,595 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@136c5672 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:25:13, skipping insertion in model container [2022-04-15 10:25:13,595 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:13" (2/3) ... [2022-04-15 10:25:13,595 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@136c5672 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:25:13, skipping insertion in model container [2022-04-15 10:25:13,595 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:25:13" (3/3) ... [2022-04-15 10:25:13,596 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound100.c [2022-04-15 10:25:13,599 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 10:25:13,599 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 10:25:13,624 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 10:25:13,629 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 10:25:13,629 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 10:25:13,640 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-15 10:25:13,645 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:25:13,645 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:25:13,645 INFO L499 BasicCegarLoop]: 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-15 10:25:13,646 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:25:13,649 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:25:13,649 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-15 10:25:13,654 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:13,654 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1587933780] [2022-04-15 10:25:13,661 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:25:13,661 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-15 10:25:13,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:25:13,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [629827485] [2022-04-15 10:25:13,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:25:13,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:25:13,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:13,761 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 10:25:13,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:13,774 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-15 10:25:13,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 10:25:13,775 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-15 10:25:13,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 10:25:13,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:13,781 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:13,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:13,782 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:13,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-15 10:25:13,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 10:25:13,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:13,788 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:13,789 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:13,789 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:13,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-15 10:25:13,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 10:25:13,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:13,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:13,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:13,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:13,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-15 10:25:13,796 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-15 10:25:13,796 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-15 10:25:13,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 10:25:13,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-15 10:25:13,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-15 10:25:13,797 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-15 10:25:13,797 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {37#true} is VALID [2022-04-15 10:25:13,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:13,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:13,798 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:13,798 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-15 10:25:13,798 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-15 10:25:13,799 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {37#true} is VALID [2022-04-15 10:25:13,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:13,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:13,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:13,799 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-15 10:25:13,800 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-15 10:25:13,800 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:13,800 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:13,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:13,800 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-15 10:25:13,801 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-15 10:25:13,801 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-15 10:25:13,801 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-15 10:25:13,801 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-15 10:25:13,801 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-15 10:25:13,801 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-15 10:25:13,802 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-15 10:25:13,802 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:25:13,802 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [629827485] [2022-04-15 10:25:13,803 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [629827485] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:25:13,803 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:25:13,803 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:25:13,805 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:25:13,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1587933780] [2022-04-15 10:25:13,805 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1587933780] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:25:13,805 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:25:13,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:25:13,806 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1343670715] [2022-04-15 10:25:13,806 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:25:13,809 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-15 10:25:13,810 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:25:13,812 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-15 10:25:13,832 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-15 10:25:13,832 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 10:25:13,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:13,847 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 10:25:13,848 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 10:25:13,851 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-15 10:25:14,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:14,008 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-15 10:25:14,009 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 10:25:14,009 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-15 10:25:14,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:25:14,010 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-15 10:25:14,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-15 10:25:14,015 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-15 10:25:14,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-15 10:25:14,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-15 10:25:14,127 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-15 10:25:14,134 INFO L225 Difference]: With dead ends: 61 [2022-04-15 10:25:14,134 INFO L226 Difference]: Without dead ends: 29 [2022-04-15 10:25:14,137 INFO L912 BasicCegarLoop]: 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-15 10:25:14,140 INFO L913 BasicCegarLoop]: 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-15 10:25:14,141 INFO L914 BasicCegarLoop]: 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-15 10:25:14,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-15 10:25:14,164 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-15 10:25:14,164 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:25:14,164 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-15 10:25:14,165 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-15 10:25:14,166 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-15 10:25:14,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:14,172 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-15 10:25:14,172 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:25:14,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:25:14,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:25:14,174 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-15 10:25:14,175 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-15 10:25:14,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:14,185 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-15 10:25:14,186 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:25:14,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:25:14,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:25:14,187 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:25:14,187 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:25:14,189 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-15 10:25:14,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-15 10:25:14,194 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-15 10:25:14,195 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:25:14,195 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-15 10:25:14,195 INFO L479 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-15 10:25:14,196 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-15 10:25:14,228 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-15 10:25:14,228 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:25:14,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:25:14,229 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:25:14,230 INFO L499 BasicCegarLoop]: 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-15 10:25:14,231 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 10:25:14,231 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:25:14,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:25:14,233 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-15 10:25:14,233 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:14,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1322017335] [2022-04-15 10:25:14,234 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:25:14,234 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-15 10:25:14,234 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:25:14,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1466674624] [2022-04-15 10:25:14,235 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:25:14,235 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:25:14,272 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:25:14,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [913319231] [2022-04-15 10:25:14,272 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:25:14,272 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:25:14,273 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:25:14,282 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-15 10:25:14,287 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-15 10:25:14,335 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 10:25:14,335 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:25:14,351 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 10:25:14,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:14,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:25:14,532 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-15 10:25:14,532 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-15 10:25:14,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-15 10:25:14,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-15 10:25:14,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-15 10:25:14,533 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-15 10:25:14,533 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {295#true} is VALID [2022-04-15 10:25:14,534 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-15 10:25:14,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-15 10:25:14,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-15 10:25:14,534 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-15 10:25:14,534 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-15 10:25:14,534 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {295#true} is VALID [2022-04-15 10:25:14,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-15 10:25:14,535 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-15 10:25:14,535 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-15 10:25:14,535 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-15 10:25:14,535 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-15 10:25:14,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-15 10:25:14,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-15 10:25:14,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-15 10:25:14,536 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-15 10:25:14,536 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-15 10:25:14,537 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-15 10:25:14,538 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-15 10:25:14,538 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:25:14,539 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-15 10:25:14,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-15 10:25:14,539 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-15 10:25:14,539 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:25:14,539 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:25:14,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1466674624] [2022-04-15 10:25:14,540 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:25:14,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [913319231] [2022-04-15 10:25:14,540 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [913319231] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:25:14,540 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:25:14,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:25:14,541 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:25:14,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1322017335] [2022-04-15 10:25:14,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1322017335] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:25:14,541 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:25:14,541 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:25:14,541 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1576123414] [2022-04-15 10:25:14,542 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:25:14,542 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-15 10:25:14,542 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:25:14,542 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-15 10:25:14,557 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-15 10:25:14,557 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 10:25:14,557 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:14,557 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 10:25:14,558 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 10:25:14,558 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-15 10:25:14,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:14,728 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-15 10:25:14,728 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 10:25:14,728 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-15 10:25:14,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:25:14,729 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-15 10:25:14,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-15 10:25:14,730 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-15 10:25:14,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-15 10:25:14,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-15 10:25:14,777 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-15 10:25:14,779 INFO L225 Difference]: With dead ends: 43 [2022-04-15 10:25:14,779 INFO L226 Difference]: Without dead ends: 41 [2022-04-15 10:25:14,779 INFO L912 BasicCegarLoop]: 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-15 10:25:14,780 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 9 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-15 10:25:14,780 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 92 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 10:25:14,781 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-15 10:25:14,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-15 10:25:14,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:25:14,789 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-15 10:25:14,789 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-15 10:25:14,789 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-15 10:25:14,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:14,791 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-15 10:25:14,792 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-15 10:25:14,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:25:14,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:25:14,792 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-15 10:25:14,793 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-15 10:25:14,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:14,795 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-15 10:25:14,795 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-15 10:25:14,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:25:14,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:25:14,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:25:14,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:25:14,796 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-15 10:25:14,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-15 10:25:14,797 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-15 10:25:14,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:25:14,797 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-15 10:25:14,797 INFO L479 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-15 10:25:14,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-15 10:25:14,848 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-15 10:25:14,848 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-15 10:25:14,849 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 10:25:14,849 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:25:14,850 INFO L499 BasicCegarLoop]: 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-15 10:25:14,866 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 10:25:15,066 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:25:15,067 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:25:15,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:25:15,067 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-15 10:25:15,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:15,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [404274292] [2022-04-15 10:25:15,068 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:25:15,068 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-15 10:25:15,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:25:15,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [241758883] [2022-04-15 10:25:15,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:25:15,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:25:15,090 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:25:15,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1977908400] [2022-04-15 10:25:15,090 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:25:15,090 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:25:15,090 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:25:15,091 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-15 10:25:15,092 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-15 10:25:15,125 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:25:15,125 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:25:15,126 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 10:25:15,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:15,140 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:25:25,844 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-15 10:25:25,845 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-15 10:25:25,845 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:25:25,846 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-15 10:25:25,846 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-15 10:25:25,846 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-15 10:25:25,846 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-15 10:25:25,847 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-15 10:25:25,848 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-15 10:25:25,848 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-15 10:25:25,849 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 100))} is VALID [2022-04-15 10:25:25,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:25:25,849 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-15 10:25:25,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 10:25:25,850 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 10:25:25,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:25:25,850 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:25:25,850 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-15 10:25:25,852 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-15 10:25:25,852 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-15 10:25:25,853 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-15 10:25:25,853 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {694#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-15 10:25:25,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 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_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-15 10:25:25,854 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} assume !false; {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-15 10:25:25,855 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 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-15 10:25:25,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:25:25,857 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-15 10:25:25,857 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-15 10:25:27,860 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 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_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is UNKNOWN [2022-04-15 10:25:27,861 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_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 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-15 10:25:27,862 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-15 10:25:27,862 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:25:27,864 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-15 10:25:27,864 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-15 10:25:27,865 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-15 10:25:27,865 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:26:21,257 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-15 10:26:21,258 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-15 10:26:21,258 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:26:21,259 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-15 10:26:21,259 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-15 10:26:21,261 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-15 10:26:21,261 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-15 10:26:21,261 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-15 10:26:21,262 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-15 10:26:21,262 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-15 10:26:21,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-15 10:26:21,262 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-15 10:26:21,262 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-15 10:26:21,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:26:21,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 10:26:21,263 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 10:26:21,263 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-15 10:26:21,263 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-15 10:26:21,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:26:21,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 10:26:21,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 10:26:21,263 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-15 10:26:21,263 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-15 10:26:21,263 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-15 10:26:21,263 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:26:21,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 10:26:21,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 10:26:21,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-15 10:26:21,264 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-15 10:26:21,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-15 10:26:21,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-15 10:26:21,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:26:21,264 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-15 10:26:21,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-15 10:26:21,264 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-15 10:26:21,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:26:21,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [241758883] [2022-04-15 10:26:21,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:26:21,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1977908400] [2022-04-15 10:26:21,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1977908400] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:26:21,265 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:26:21,265 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-15 10:26:21,265 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:26:21,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [404274292] [2022-04-15 10:26:21,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [404274292] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:26:21,266 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:26:21,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 10:26:21,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1992271742] [2022-04-15 10:26:21,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:26:21,266 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-15 10:26:21,266 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:26:21,267 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-15 10:26:23,302 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-15 10:26:23,302 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 10:26:23,302 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:26:23,303 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 10:26:23,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-15 10:26:23,303 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-15 10:26:27,166 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.44s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:26:29,327 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.71s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:26:31,485 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-15 10:26:31,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:26:31,555 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-15 10:26:31,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 10:26:31,556 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-15 10:26:31,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:26:31,556 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-15 10:26:31,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-15 10:26:31,566 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-15 10:26:31,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-15 10:26:31,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-15 10:26:31,619 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-15 10:26:31,621 INFO L225 Difference]: With dead ends: 47 [2022-04-15 10:26:31,621 INFO L226 Difference]: Without dead ends: 45 [2022-04-15 10:26:31,621 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-15 10:26:31,622 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 10 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.6s IncrementalHoareTripleChecker+Time [2022-04-15 10:26:31,622 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 228 Invalid, 1 Unknown, 0 Unchecked, 5.6s Time] [2022-04-15 10:26:31,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-15 10:26:31,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-15 10:26:31,659 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:26:31,659 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-15 10:26:31,659 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-15 10:26:31,659 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-15 10:26:31,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:26:31,663 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-15 10:26:31,663 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-15 10:26:31,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:26:31,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:26:31,663 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-15 10:26:31,663 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-15 10:26:31,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:26:31,665 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-15 10:26:31,665 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-15 10:26:31,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:26:31,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:26:31,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:26:31,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:26:31,666 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-15 10:26:31,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-15 10:26:31,667 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-15 10:26:31,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:26:31,668 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-15 10:26:31,668 INFO L479 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-15 10:26:31,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-15 10:26:31,715 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-15 10:26:31,715 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-15 10:26:31,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-15 10:26:31,716 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:26:31,716 INFO L499 BasicCegarLoop]: 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-15 10:26:31,732 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-15 10:26:31,920 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 10:26:31,920 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:26:31,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:26:31,921 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-15 10:26:31,921 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:26:31,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1658204041] [2022-04-15 10:26:31,921 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:26:31,921 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-15 10:26:31,921 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:26:31,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [578822970] [2022-04-15 10:26:31,921 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:26:31,921 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:26:31,949 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:26:31,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [295637383] [2022-04-15 10:26:31,949 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:26:31,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:26:31,950 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:26:31,950 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-15 10:26:31,951 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-15 10:26:31,989 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:26:31,990 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:26:31,990 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 10:26:32,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:26:32,002 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:26:34,469 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-15 10:26:34,469 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-15 10:26:34,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:26:34,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-15 10:26:34,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-15 10:26:34,470 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-15 10:26:34,470 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:26:34,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:26:34,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:26:34,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:26:34,471 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #71#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:26:34,472 INFO L290 TraceCheckUtils]: 11: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:26:34,472 INFO L272 TraceCheckUtils]: 12: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:26:34,472 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:26:34,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:26:34,472 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:26:34,473 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:26:34,473 INFO L272 TraceCheckUtils]: 17: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:26:34,473 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:26:34,473 INFO L290 TraceCheckUtils]: 19: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:26:34,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:26:34,474 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {1187#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-15 10:26:34,475 INFO L290 TraceCheckUtils]: 22: Hoare triple {1187#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:26:34,475 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:26:34,475 INFO L272 TraceCheckUtils]: 24: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~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)); {1116#true} is VALID [2022-04-15 10:26:34,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:26:34,475 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:26:34,475 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:26:34,476 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:26:34,477 INFO L290 TraceCheckUtils]: 29: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:26:34,478 INFO L290 TraceCheckUtils]: 30: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= 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);~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; {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:26:34,478 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:26:34,480 INFO L272 TraceCheckUtils]: 32: Hoare triple {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:26:34,481 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:26:34,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-15 10:26:34,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-15 10:26:34,481 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:26:34,481 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:27:34,601 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-15 10:27:34,601 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-15 10:27:34,602 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:34,603 INFO L272 TraceCheckUtils]: 32: Hoare triple {1243#(= (+ 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)); {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:27:34,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:27:34,607 INFO L290 TraceCheckUtils]: 30: Hoare triple {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~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);~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; {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:27:34,608 INFO L290 TraceCheckUtils]: 29: Hoare triple {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-15 10:27:34,608 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} #77#return; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-15 10:27:34,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:27:34,609 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:27:34,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:27:34,609 INFO L272 TraceCheckUtils]: 24: Hoare triple {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 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-15 10:27:34,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume !false; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-15 10:27:34,613 INFO L290 TraceCheckUtils]: 22: Hoare triple {1275#(or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 4) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-15 10:27:34,614 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #75#return; {1275#(or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 4) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-15 10:27:34,614 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:27:34,614 INFO L290 TraceCheckUtils]: 19: Hoare triple {1288#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:27:34,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1288#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:27:34,615 INFO L272 TraceCheckUtils]: 17: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:27:34,615 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-15 10:27:34,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:27:34,615 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:27:34,615 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:27:34,615 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:27:34,615 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-15 10:27:34,615 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-15 10:27:34,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:27:34,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:27:34,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:27:34,616 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:27:34,616 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-15 10:27:34,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-15 10:27:34,616 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-15 10:27:34,616 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:27:34,616 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-15 10:27:34,616 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-15 10:27:34,616 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:27:34,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:27:34,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [578822970] [2022-04-15 10:27:34,617 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:27:34,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [295637383] [2022-04-15 10:27:34,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [295637383] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:27:34,617 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:27:34,617 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-15 10:27:34,617 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:27:34,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1658204041] [2022-04-15 10:27:34,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1658204041] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:27:34,617 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:27:34,617 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 10:27:34,617 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1652585074] [2022-04-15 10:27:34,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:27:34,618 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 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-15 10:27:34,618 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:27:34,618 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 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-15 10:27:34,660 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-15 10:27:34,660 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 10:27:34,661 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:27:34,661 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 10:27:34,661 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-04-15 10:27:34,661 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 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-15 10:27:35,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:35,647 INFO L93 Difference]: Finished difference Result 59 states and 75 transitions. [2022-04-15 10:27:35,647 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 10:27:35,648 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 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-15 10:27:35,648 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:27:35,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 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-15 10:27:35,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-15 10:27:35,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 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-15 10:27:35,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-15 10:27:35,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-15 10:27:35,705 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-15 10:27:35,706 INFO L225 Difference]: With dead ends: 59 [2022-04-15 10:27:35,707 INFO L226 Difference]: Without dead ends: 57 [2022-04-15 10:27:35,707 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=48, Invalid=192, Unknown=0, NotChecked=0, Total=240 [2022-04-15 10:27:35,707 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 48 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 242 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 217 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 10:27:35,708 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 125 Invalid, 242 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 217 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 10:27:35,708 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-15 10:27:35,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 48. [2022-04-15 10:27:35,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:27:35,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:27:35,764 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:27:35,764 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:27:35,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:35,766 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-15 10:27:35,766 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-15 10:27:35,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:27:35,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:27:35,767 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-15 10:27:35,767 INFO L87 Difference]: Start difference. First operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-15 10:27:35,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:35,769 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-15 10:27:35,769 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-15 10:27:35,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:27:35,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:27:35,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:27:35,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:27:35,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:27:35,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-04-15 10:27:35,771 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 36 [2022-04-15 10:27:35,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:27:35,771 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-04-15 10:27:35,771 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 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-15 10:27:35,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 57 transitions. [2022-04-15 10:27:35,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:27:35,833 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-04-15 10:27:35,834 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 10:27:35,834 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:27:35,834 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:27:35,851 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 10:27:36,047 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:27:36,047 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:27:36,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:27:36,048 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-15 10:27:36,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:27:36,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [278769286] [2022-04-15 10:27:36,048 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:27:36,048 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-15 10:27:36,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:27:36,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [700519067] [2022-04-15 10:27:36,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:27:36,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:27:36,064 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:27:36,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [965582908] [2022-04-15 10:27:36,064 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:27:36,064 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:27:36,064 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:27:36,071 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-15 10:27:36,072 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-15 10:27:36,130 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:27:36,130 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:27:36,132 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 10:27:36,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:27:36,143 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:27:36,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-15 10:27:36,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {1677#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); {1677#true} is VALID [2022-04-15 10:27:36,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:27:36,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-15 10:27:36,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-15 10:27:36,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#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; {1677#true} is VALID [2022-04-15 10:27:36,392 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {1677#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L272 TraceCheckUtils]: 17: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:27:36,393 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:27:36,394 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-15 10:27:36,394 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1748#(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-15 10:27:36,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1748#(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-15 10:27:36,394 INFO L272 TraceCheckUtils]: 24: Hoare triple {1748#(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)); {1677#true} is VALID [2022-04-15 10:27:36,395 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:36,395 INFO L290 TraceCheckUtils]: 26: Hoare triple {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:27:36,395 INFO L290 TraceCheckUtils]: 27: Hoare triple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:27:36,396 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1748#(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-15 10:27:36,396 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1748#(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-15 10:27:36,397 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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)); {1748#(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-15 10:27:36,398 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-15 10:27:36,398 INFO L290 TraceCheckUtils]: 32: Hoare triple {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} assume !false; {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-15 10:27:36,400 INFO L272 TraceCheckUtils]: 33: Hoare triple {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~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)); {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:27:36,400 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:36,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-15 10:27:36,401 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-15 10:27:36,401 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-15 10:27:36,401 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:27:47,859 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-15 10:27:47,859 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-15 10:27:47,859 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:47,860 INFO L272 TraceCheckUtils]: 33: Hoare triple {1805#(= (+ 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)); {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:27:47,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:27:47,871 INFO L290 TraceCheckUtils]: 31: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:27:47,872 INFO L290 TraceCheckUtils]: 30: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~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)); {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-15 10:27:47,872 INFO L290 TraceCheckUtils]: 29: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-15 10:27:47,873 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} {1677#true} #77#return; {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-15 10:27:47,873 INFO L290 TraceCheckUtils]: 27: Hoare triple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:27:47,874 INFO L290 TraceCheckUtils]: 26: Hoare triple {1831#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:27:47,874 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1831#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:27:47,874 INFO L272 TraceCheckUtils]: 24: Hoare triple {1677#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:27:47,874 INFO L290 TraceCheckUtils]: 23: Hoare triple {1677#true} assume !false; {1677#true} is VALID [2022-04-15 10:27:47,874 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1677#true} is VALID [2022-04-15 10:27:47,874 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-15 10:27:47,874 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L272 TraceCheckUtils]: 17: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 11: Hoare triple {1677#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:27:47,875 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:27:47,876 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:27:47,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#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; {1677#true} is VALID [2022-04-15 10:27:47,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-15 10:27:47,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-15 10:27:47,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:27:47,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {1677#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); {1677#true} is VALID [2022-04-15 10:27:47,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-15 10:27:47,876 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-15 10:27:47,876 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:27:47,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [700519067] [2022-04-15 10:27:47,876 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:27:47,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [965582908] [2022-04-15 10:27:47,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [965582908] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:27:47,877 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:27:47,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-15 10:27:47,877 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:27:47,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [278769286] [2022-04-15 10:27:47,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [278769286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:27:47,877 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:27:47,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:27:47,877 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [111939512] [2022-04-15 10:27:47,877 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:27:47,877 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:27:47,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:27:47,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:27:47,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:27:47,902 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:27:47,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:27:47,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:27:47,902 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-15 10:27:47,903 INFO L87 Difference]: Start difference. First operand 48 states and 57 transitions. Second operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:27:48,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:48,641 INFO L93 Difference]: Finished difference Result 77 states and 99 transitions. [2022-04-15 10:27:48,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:27:48,642 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:27:48,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:27:48,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:27:48,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-15 10:27:48,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:27:48,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-15 10:27:48,645 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2022-04-15 10:27:48,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:27:48,714 INFO L225 Difference]: With dead ends: 77 [2022-04-15 10:27:48,714 INFO L226 Difference]: Without dead ends: 63 [2022-04-15 10:27:48,715 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 63 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-15 10:27:48,715 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 18 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 173 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 173 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 10:27:48,716 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 117 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 173 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 10:27:48,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-15 10:27:48,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-15 10:27:48,782 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:27:48,783 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:27:48,783 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:27:48,783 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:27:48,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:48,785 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-15 10:27:48,785 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-15 10:27:48,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:27:48,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:27:48,785 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 63 states. [2022-04-15 10:27:48,785 INFO L87 Difference]: Start difference. First operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 63 states. [2022-04-15 10:27:48,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:48,787 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-15 10:27:48,787 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-15 10:27:48,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:27:48,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:27:48,787 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:27:48,787 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:27:48,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:27:48,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 72 transitions. [2022-04-15 10:27:48,789 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 72 transitions. Word has length 37 [2022-04-15 10:27:48,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:27:48,789 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 72 transitions. [2022-04-15 10:27:48,789 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:27:48,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 72 transitions. [2022-04-15 10:27:48,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:27:48,881 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-04-15 10:27:48,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 10:27:48,882 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:27:48,882 INFO L499 BasicCegarLoop]: 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-15 10:27:48,898 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 10:27:49,095 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:27:49,095 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:27:49,096 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:27:49,096 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-15 10:27:49,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:27:49,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [818066222] [2022-04-15 10:27:49,096 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:27:49,096 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-15 10:27:49,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:27:49,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [61650033] [2022-04-15 10:27:49,096 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:27:49,096 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:27:49,107 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:27:49,107 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [998322456] [2022-04-15 10:27:49,107 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:27:49,107 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:27:49,107 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:27:49,108 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-15 10:27:49,109 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-15 10:27:49,138 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:27:49,138 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:27:49,138 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-15 10:27:49,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:27:49,148 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:27:49,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-15 10:27:49,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {2311#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); {2311#true} is VALID [2022-04-15 10:27:49,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-15 10:27:49,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-15 10:27:49,363 INFO L290 TraceCheckUtils]: 5: Hoare triple {2311#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; {2311#true} is VALID [2022-04-15 10:27:49,363 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,363 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:27:49,364 INFO L290 TraceCheckUtils]: 8: Hoare triple {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:27:49,364 INFO L290 TraceCheckUtils]: 9: Hoare triple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:27:49,364 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2311#true} #71#return; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:27:49,365 INFO L290 TraceCheckUtils]: 11: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:27:49,365 INFO L272 TraceCheckUtils]: 12: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,365 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:27:49,365 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:27:49,365 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,366 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:27:49,366 INFO L272 TraceCheckUtils]: 17: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,366 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:27:49,366 INFO L290 TraceCheckUtils]: 19: Hoare triple {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:27:49,367 INFO L290 TraceCheckUtils]: 20: Hoare triple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:27:49,367 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {2382#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-15 10:27:49,367 INFO L290 TraceCheckUtils]: 22: Hoare triple {2382#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:27:49,368 INFO L290 TraceCheckUtils]: 23: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:27:49,368 INFO L272 TraceCheckUtils]: 24: Hoare triple {2386#(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)); {2311#true} is VALID [2022-04-15 10:27:49,368 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:27:49,368 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:27:49,368 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,369 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:27:49,369 INFO L290 TraceCheckUtils]: 29: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:27:49,369 INFO L272 TraceCheckUtils]: 30: Hoare triple {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,369 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:27:49,369 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:27:49,369 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,370 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2311#true} {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} #79#return; {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:27:49,371 INFO L272 TraceCheckUtils]: 35: Hoare triple {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:27:49,371 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:49,371 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-15 10:27:49,371 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-15 10:27:49,372 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-15 10:27:49,372 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:27:49,570 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-15 10:27:49,570 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-15 10:27:49,571 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:49,571 INFO L272 TraceCheckUtils]: 35: Hoare triple {2447#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:27:49,572 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2311#true} {2447#(= (* main_~b~0 main_~a~0) 0)} #79#return; {2447#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-15 10:27:49,572 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,572 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:27:49,572 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:27:49,572 INFO L272 TraceCheckUtils]: 30: Hoare triple {2447#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,573 INFO L290 TraceCheckUtils]: 29: Hoare triple {2311#true} assume !(0 != ~a~0 && 0 != ~b~0); {2447#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-15 10:27:49,574 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2311#true} #77#return; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L272 TraceCheckUtils]: 24: Hoare triple {2311#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 23: Hoare triple {2311#true} assume !false; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 22: Hoare triple {2311#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2311#true} {2311#true} #75#return; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L272 TraceCheckUtils]: 17: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2311#true} #73#return; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L272 TraceCheckUtils]: 12: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L290 TraceCheckUtils]: 11: Hoare triple {2311#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2311#true} {2311#true} #71#return; {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L290 TraceCheckUtils]: 5: Hoare triple {2311#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; {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {2311#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); {2311#true} is VALID [2022-04-15 10:27:49,575 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-15 10:27:49,576 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-15 10:27:49,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:27:49,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [61650033] [2022-04-15 10:27:49,576 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:27:49,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [998322456] [2022-04-15 10:27:49,576 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [998322456] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 10:27:49,576 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 10:27:49,576 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-15 10:27:49,576 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:27:49,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [818066222] [2022-04-15 10:27:49,576 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [818066222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:27:49,576 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:27:49,576 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:27:49,576 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [548649064] [2022-04-15 10:27:49,576 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:27:49,577 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-15 10:27:49,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:27:49,577 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-15 10:27:49,599 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-15 10:27:49,600 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 10:27:49,600 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:27:49,600 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 10:27:49,600 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-15 10:27:49,600 INFO L87 Difference]: Start difference. First operand 59 states and 72 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-15 10:27:49,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:49,967 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-15 10:27:49,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 10:27:49,967 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-15 10:27:49,967 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:27:49,968 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-15 10:27:49,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-15 10:27:49,968 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-15 10:27:49,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-15 10:27:49,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-15 10:27:50,006 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-15 10:27:50,007 INFO L225 Difference]: With dead ends: 65 [2022-04-15 10:27:50,007 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 10:27:50,008 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-15 10:27:50,008 INFO L913 BasicCegarLoop]: 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-15 10:27:50,009 INFO L914 BasicCegarLoop]: 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-15 10:27:50,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 10:27:50,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-15 10:27:50,071 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:27:50,072 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:27:50,072 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:27:50,072 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:27:50,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:50,073 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-15 10:27:50,073 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-15 10:27:50,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:27:50,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:27:50,074 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-15 10:27:50,074 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-15 10:27:50,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:50,075 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-15 10:27:50,075 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-15 10:27:50,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:27:50,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:27:50,075 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:27:50,075 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:27:50,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:27:50,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2022-04-15 10:27:50,077 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 39 [2022-04-15 10:27:50,077 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:27:50,077 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2022-04-15 10:27:50,077 INFO L479 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-15 10:27:50,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 64 transitions. [2022-04-15 10:27:50,152 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:27:50,152 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-15 10:27:50,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 10:27:50,152 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:27:50,152 INFO L499 BasicCegarLoop]: 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-15 10:27:50,170 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-15 10:27:50,370 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:27:50,371 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:27:50,371 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:27:50,372 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-15 10:27:50,372 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:27:50,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1156432479] [2022-04-15 10:27:50,372 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:27:50,372 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-15 10:27:50,372 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:27:50,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [302648814] [2022-04-15 10:27:50,372 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:27:50,372 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:27:50,389 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:27:50,389 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [838632445] [2022-04-15 10:27:50,389 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:27:50,389 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:27:50,389 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:27:50,390 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-15 10:27:50,391 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-15 10:27:50,427 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:27:50,427 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:27:50,428 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 10:27:50,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:27:50,443 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:27:50,887 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-15 10:27:50,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {2899#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); {2899#true} is VALID [2022-04-15 10:27:50,887 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:27:50,887 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-15 10:27:50,887 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-15 10:27:50,887 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#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; {2899#true} is VALID [2022-04-15 10:27:50,887 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:27:50,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2925#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:27:50,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {2925#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2929#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:27:50,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2929#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:27:50,898 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} {2899#true} #71#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:27:50,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:27:50,898 INFO L272 TraceCheckUtils]: 12: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:27:50,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:27:50,898 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:27:50,898 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:27:50,903 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:27:50,903 INFO L272 TraceCheckUtils]: 17: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:27:50,903 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:27:50,903 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:27:50,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:27:50,904 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:27:50,904 INFO L290 TraceCheckUtils]: 22: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:27:50,904 INFO L290 TraceCheckUtils]: 23: Hoare triple {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:27:50,904 INFO L272 TraceCheckUtils]: 24: Hoare triple {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= 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)); {2899#true} is VALID [2022-04-15 10:27:50,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:50,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:27:50,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:27:50,907 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:27:50,907 INFO L290 TraceCheckUtils]: 29: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:27:50,908 INFO L290 TraceCheckUtils]: 30: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= 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)); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:27:50,908 INFO L290 TraceCheckUtils]: 31: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= 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)); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:27:50,909 INFO L290 TraceCheckUtils]: 32: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= 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);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:27:50,909 INFO L290 TraceCheckUtils]: 33: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:27:50,911 INFO L272 TraceCheckUtils]: 34: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= 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)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:27:50,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:50,911 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-15 10:27:50,911 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-15 10:27:50,912 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:27:50,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:28:12,221 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-15 10:28:12,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-15 10:28:12,222 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:12,223 INFO L272 TraceCheckUtils]: 34: Hoare triple {3034#(= (+ 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)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:28:12,223 INFO L290 TraceCheckUtils]: 33: Hoare triple {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:12,231 INFO L290 TraceCheckUtils]: 32: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (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; {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:12,232 INFO L290 TraceCheckUtils]: 31: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (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)); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-15 10:28:12,233 INFO L290 TraceCheckUtils]: 30: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (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)); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-15 10:28:12,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-15 10:28:12,234 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2899#true} #77#return; {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-15 10:28:12,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:12,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {3063#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:12,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {3063#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:28:12,235 INFO L272 TraceCheckUtils]: 24: Hoare triple {2899#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:12,235 INFO L290 TraceCheckUtils]: 23: Hoare triple {2899#true} assume !false; {2899#true} is VALID [2022-04-15 10:28:12,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {2899#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2899#true} is VALID [2022-04-15 10:28:12,235 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2899#true} #75#return; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L272 TraceCheckUtils]: 17: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2899#true} #73#return; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L272 TraceCheckUtils]: 12: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {2899#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2899#true} {2899#true} #71#return; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:12,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#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; {2899#true} is VALID [2022-04-15 10:28:12,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-15 10:28:12,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-15 10:28:12,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:12,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {2899#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); {2899#true} is VALID [2022-04-15 10:28:12,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-15 10:28:12,237 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-15 10:28:12,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:28:12,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [302648814] [2022-04-15 10:28:12,237 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:28:12,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [838632445] [2022-04-15 10:28:12,237 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [838632445] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:28:12,237 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:28:12,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-15 10:28:12,238 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:28:12,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1156432479] [2022-04-15 10:28:12,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1156432479] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:28:12,256 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:28:12,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 10:28:12,256 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2147264027] [2022-04-15 10:28:12,256 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:28:12,256 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-15 10:28:12,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:28:12,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 10:28:12,286 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-15 10:28:12,286 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 10:28:12,286 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:12,287 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 10:28:12,287 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-15 10:28:12,287 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 10:28:12,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:12,984 INFO L93 Difference]: Finished difference Result 78 states and 99 transitions. [2022-04-15 10:28:12,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 10:28:12,985 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-15 10:28:12,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:28:12,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 10:28:12,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-15 10:28:12,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 10:28:12,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-15 10:28:12,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 77 transitions. [2022-04-15 10:28:13,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:28:13,056 INFO L225 Difference]: With dead ends: 78 [2022-04-15 10:28:13,056 INFO L226 Difference]: Without dead ends: 65 [2022-04-15 10:28:13,056 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 61 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-15 10:28:13,057 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 31 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 244 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 254 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 244 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 10:28:13,057 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 126 Invalid, 254 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 244 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 10:28:13,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-15 10:28:13,132 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 63. [2022-04-15 10:28:13,133 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:28:13,133 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:28:13,133 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:28:13,133 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:28:13,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:13,135 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-15 10:28:13,135 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-15 10:28:13,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:13,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:13,135 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-15 10:28:13,135 INFO L87 Difference]: Start difference. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-15 10:28:13,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:13,137 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-15 10:28:13,137 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-15 10:28:13,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:13,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:13,137 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:28:13,137 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:28:13,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:28:13,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-15 10:28:13,139 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-15 10:28:13,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:28:13,139 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-15 10:28:13,139 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 10:28:13,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-15 10:28:13,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:28:13,245 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-15 10:28:13,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 10:28:13,245 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:28:13,245 INFO L499 BasicCegarLoop]: 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-15 10:28:13,261 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-15 10:28:13,456 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:13,456 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:28:13,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:28:13,456 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-15 10:28:13,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:13,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1709938291] [2022-04-15 10:28:13,457 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:28:13,457 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-15 10:28:13,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:28:13,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2050874173] [2022-04-15 10:28:13,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:28:13,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:28:13,472 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:28:13,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [847529821] [2022-04-15 10:28:13,473 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:28:13,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:13,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:28:13,474 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:28:13,474 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 10:28:13,552 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:28:13,552 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:28:13,553 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 10:28:13,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:28:13,561 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:28:13,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-15 10:28:13,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {3559#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); {3559#true} is VALID [2022-04-15 10:28:13,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:13,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-15 10:28:13,785 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-15 10:28:13,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {3559#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; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 11: Hoare triple {3559#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L272 TraceCheckUtils]: 17: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:13,786 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-15 10:28:13,787 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3630#(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-15 10:28:13,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3630#(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-15 10:28:13,787 INFO L272 TraceCheckUtils]: 24: Hoare triple {3630#(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)); {3559#true} is VALID [2022-04-15 10:28:13,787 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:13,788 INFO L290 TraceCheckUtils]: 26: Hoare triple {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:13,788 INFO L290 TraceCheckUtils]: 27: Hoare triple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:13,788 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {3630#(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-15 10:28:13,789 INFO L290 TraceCheckUtils]: 29: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {3630#(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-15 10:28:13,789 INFO L290 TraceCheckUtils]: 30: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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)); {3630#(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-15 10:28:13,790 INFO L290 TraceCheckUtils]: 31: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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)); {3630#(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-15 10:28:13,790 INFO L290 TraceCheckUtils]: 32: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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; {3663#(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) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:28:13,791 INFO L290 TraceCheckUtils]: 33: Hoare triple {3663#(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) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} assume !false; {3663#(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) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:28:13,793 INFO L272 TraceCheckUtils]: 34: Hoare triple {3663#(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) (= (+ main_~a~0 1) 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)); {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:28:13,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:13,794 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-15 10:28:13,794 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-15 10:28:13,794 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-15 10:28:13,794 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:28:34,100 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-15 10:28:34,101 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-15 10:28:34,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:34,102 INFO L272 TraceCheckUtils]: 34: Hoare triple {3690#(= (+ 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)); {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:28:34,102 INFO L290 TraceCheckUtils]: 33: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:34,123 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#(= (+ 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; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:34,124 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#(= (+ 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)); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:34,124 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#(= (+ 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)); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:34,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {3690#(= (+ 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); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:34,125 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} {3559#true} #77#return; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:34,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:34,126 INFO L290 TraceCheckUtils]: 26: Hoare triple {3718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:34,126 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:28:34,126 INFO L272 TraceCheckUtils]: 24: Hoare triple {3559#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:34,126 INFO L290 TraceCheckUtils]: 23: Hoare triple {3559#true} assume !false; {3559#true} is VALID [2022-04-15 10:28:34,126 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3559#true} is VALID [2022-04-15 10:28:34,126 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-15 10:28:34,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:34,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:34,126 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:34,126 INFO L272 TraceCheckUtils]: 17: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L290 TraceCheckUtils]: 11: Hoare triple {3559#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L290 TraceCheckUtils]: 5: Hoare triple {3559#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; {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-15 10:28:34,127 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-15 10:28:34,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:34,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {3559#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); {3559#true} is VALID [2022-04-15 10:28:34,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-15 10:28:34,128 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-15 10:28:34,128 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:28:34,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2050874173] [2022-04-15 10:28:34,128 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:28:34,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [847529821] [2022-04-15 10:28:34,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [847529821] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:28:34,128 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:28:34,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-04-15 10:28:34,128 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:28:34,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1709938291] [2022-04-15 10:28:34,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1709938291] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:28:34,129 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:28:34,129 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:28:34,129 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1380528455] [2022-04-15 10:28:34,129 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:28:34,129 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 38 [2022-04-15 10:28:34,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:28:34,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:28:34,155 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-15 10:28:34,155 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:28:34,155 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:34,155 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:28:34,155 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-15 10:28:34,156 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:28:34,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:34,755 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-15 10:28:34,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:28:34,755 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 38 [2022-04-15 10:28:34,756 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:28:34,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:28:34,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-15 10:28:34,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:28:34,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-15 10:28:34,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 61 transitions. [2022-04-15 10:28:34,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:28:34,807 INFO L225 Difference]: With dead ends: 76 [2022-04-15 10:28:34,807 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 10:28:34,808 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 65 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 10:28:34,808 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 16 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 10:28:34,808 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 120 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 10:28:34,809 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 10:28:34,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 63. [2022-04-15 10:28:34,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:28:34,888 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:28:34,888 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:28:34,888 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:28:34,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:34,890 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-15 10:28:34,890 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-15 10:28:34,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:34,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:34,890 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-15 10:28:34,890 INFO L87 Difference]: Start difference. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-15 10:28:34,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:34,892 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-15 10:28:34,892 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-15 10:28:34,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:34,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:34,892 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:28:34,892 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:28:34,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:28:34,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-15 10:28:34,893 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-15 10:28:34,894 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:28:34,894 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-15 10:28:34,894 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:28:34,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-15 10:28:35,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:28:35,011 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-15 10:28:35,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 10:28:35,011 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:28:35,011 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:28:35,017 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 10:28:35,215 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:35,216 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:28:35,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:28:35,216 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 1 times [2022-04-15 10:28:35,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:35,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [490527041] [2022-04-15 10:28:35,216 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:28:35,216 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 2 times [2022-04-15 10:28:35,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:28:35,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [372093429] [2022-04-15 10:28:35,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:28:35,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:28:35,225 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:28:35,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [593822718] [2022-04-15 10:28:35,226 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:28:35,226 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:35,226 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:28:35,227 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:28:35,227 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 10:28:35,269 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:28:35,270 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:28:35,270 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-15 10:28:35,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:28:35,279 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:28:35,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-15 10:28:35,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {4226#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); {4226#true} is VALID [2022-04-15 10:28:35,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:35,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-15 10:28:35,827 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-15 10:28:35,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {4226#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; {4226#true} is VALID [2022-04-15 10:28:35,827 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:28:35,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {4226#true} ~cond := #in~cond; {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:28:35,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:28:35,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:28:35,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:28:35,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:28:35,829 INFO L272 TraceCheckUtils]: 12: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:28:35,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:28:35,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:28:35,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:35,829 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-15 10:28:35,829 INFO L272 TraceCheckUtils]: 17: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:28:35,830 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:28:35,830 INFO L290 TraceCheckUtils]: 19: Hoare triple {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:28:35,830 INFO L290 TraceCheckUtils]: 20: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:28:35,831 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {4297#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-15 10:28:35,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:28:35,831 INFO L290 TraceCheckUtils]: 23: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:28:35,831 INFO L272 TraceCheckUtils]: 24: Hoare triple {4301#(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)); {4226#true} is VALID [2022-04-15 10:28:35,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:28:35,831 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:28:35,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:35,832 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4226#true} {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:28:35,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:28:35,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 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; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:28:35,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !false; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:28:35,834 INFO L272 TraceCheckUtils]: 32: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 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)); {4226#true} is VALID [2022-04-15 10:28:35,834 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:28:35,834 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:28:35,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:35,834 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4226#true} {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} #77#return; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:28:35,835 INFO L290 TraceCheckUtils]: 37: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {4227#false} is VALID [2022-04-15 10:28:35,835 INFO L272 TraceCheckUtils]: 38: Hoare triple {4227#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4227#false} is VALID [2022-04-15 10:28:35,835 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-15 10:28:35,835 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-15 10:28:35,835 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-15 10:28:35,835 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 10:28:35,835 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:28:36,545 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-15 10:28:36,545 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-15 10:28:36,545 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-15 10:28:36,545 INFO L272 TraceCheckUtils]: 38: Hoare triple {4227#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4227#false} is VALID [2022-04-15 10:28:36,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {4227#false} is VALID [2022-04-15 10:28:36,563 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4226#true} {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} #77#return; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-15 10:28:36,563 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:36,563 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:28:36,563 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:28:36,563 INFO L272 TraceCheckUtils]: 32: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:28:36,563 INFO L290 TraceCheckUtils]: 31: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !false; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-15 10:28:36,564 INFO L290 TraceCheckUtils]: 30: Hoare triple {4394#(or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0)) (and (not (<= (div main_~a~0 2) 0)) (not (= (div main_~b~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);~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; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-15 10:28:36,565 INFO L290 TraceCheckUtils]: 29: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {4394#(or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0)) (and (not (<= (div main_~a~0 2) 0)) (not (= (div main_~b~0 2) 0))))} is VALID [2022-04-15 10:28:36,565 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4226#true} {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} #77#return; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-15 10:28:36,565 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:36,565 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:28:36,565 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:28:36,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~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)); {4226#true} is VALID [2022-04-15 10:28:36,566 INFO L290 TraceCheckUtils]: 23: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} assume !false; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-15 10:28:36,567 INFO L290 TraceCheckUtils]: 22: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-15 10:28:36,567 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4226#true} {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #75#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-15 10:28:36,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:36,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:28:36,567 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:28:36,567 INFO L272 TraceCheckUtils]: 17: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:28:36,567 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #73#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-15 10:28:36,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:36,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:28:36,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:28:36,568 INFO L272 TraceCheckUtils]: 12: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:28:36,575 INFO L290 TraceCheckUtils]: 11: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-15 10:28:36,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-15 10:28:36,576 INFO L290 TraceCheckUtils]: 9: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:28:36,576 INFO L290 TraceCheckUtils]: 8: Hoare triple {4466#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:28:36,576 INFO L290 TraceCheckUtils]: 7: Hoare triple {4226#true} ~cond := #in~cond; {4466#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:28:36,576 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:28:36,576 INFO L290 TraceCheckUtils]: 5: Hoare triple {4226#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; {4226#true} is VALID [2022-04-15 10:28:36,576 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-15 10:28:36,577 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-15 10:28:36,577 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:28:36,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {4226#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); {4226#true} is VALID [2022-04-15 10:28:36,577 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-15 10:28:36,577 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 10:28:36,577 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:28:36,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [372093429] [2022-04-15 10:28:36,577 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:28:36,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [593822718] [2022-04-15 10:28:36,577 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [593822718] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:28:36,577 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:28:36,577 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-15 10:28:36,578 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:28:36,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [490527041] [2022-04-15 10:28:36,578 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [490527041] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:28:36,578 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:28:36,578 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:28:36,578 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [113259525] [2022-04-15 10:28:36,578 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:28:36,578 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 42 [2022-04-15 10:28:36,578 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:28:36,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 10:28:36,608 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-15 10:28:36,608 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:28:36,608 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:36,608 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:28:36,608 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-15 10:28:36,609 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 10:28:36,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:36,979 INFO L93 Difference]: Finished difference Result 82 states and 103 transitions. [2022-04-15 10:28:36,979 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:28:36,979 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 42 [2022-04-15 10:28:36,979 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:28:36,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 10:28:36,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-15 10:28:36,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 10:28:36,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-15 10:28:36,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-15 10:28:37,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:28:37,025 INFO L225 Difference]: With dead ends: 82 [2022-04-15 10:28:37,025 INFO L226 Difference]: Without dead ends: 75 [2022-04-15 10:28:37,025 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 71 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-15 10:28:37,025 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:28:37,026 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 121 Invalid, 112 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 10:28:37,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-15 10:28:37,130 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 73. [2022-04-15 10:28:37,131 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:28:37,131 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 10:28:37,131 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 10:28:37,131 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 10:28:37,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:37,133 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-15 10:28:37,133 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-15 10:28:37,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:37,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:37,133 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 75 states. [2022-04-15 10:28:37,134 INFO L87 Difference]: Start difference. First operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 75 states. [2022-04-15 10:28:37,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:37,135 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-15 10:28:37,135 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-15 10:28:37,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:37,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:37,136 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:28:37,136 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:28:37,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 10:28:37,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 93 transitions. [2022-04-15 10:28:37,139 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 93 transitions. Word has length 42 [2022-04-15 10:28:37,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:28:37,139 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 93 transitions. [2022-04-15 10:28:37,139 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 10:28:37,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 93 transitions. [2022-04-15 10:28:37,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:28:37,273 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 93 transitions. [2022-04-15 10:28:37,274 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 10:28:37,274 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:28:37,274 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:28:37,290 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-15 10:28:37,476 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 10:28:37,476 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:28:37,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:28:37,477 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 1 times [2022-04-15 10:28:37,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:37,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [666483648] [2022-04-15 10:28:37,477 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:28:37,477 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 2 times [2022-04-15 10:28:37,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:28:37,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1442624671] [2022-04-15 10:28:37,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:28:37,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:28:37,487 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:28:37,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [80273889] [2022-04-15 10:28:37,487 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:28:37,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:37,487 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:28:37,488 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:28:37,489 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 10:28:37,533 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:28:37,533 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:28:37,534 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 10:28:37,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:28:37,542 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:28:47,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {4956#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); {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {4956#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; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {4956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-15 10:28:47,772 INFO L272 TraceCheckUtils]: 17: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 22: Hoare triple {4956#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L272 TraceCheckUtils]: 24: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-15 10:28:47,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {5048#(not (= main_~b~0 0))} is VALID [2022-04-15 10:28:47,774 INFO L290 TraceCheckUtils]: 30: Hoare triple {5048#(not (= main_~b~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)); {5048#(not (= main_~b~0 0))} is VALID [2022-04-15 10:28:47,774 INFO L290 TraceCheckUtils]: 31: Hoare triple {5048#(not (= main_~b~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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {5048#(not (= main_~b~0 0))} is VALID [2022-04-15 10:28:47,774 INFO L290 TraceCheckUtils]: 32: Hoare triple {5048#(not (= main_~b~0 0))} assume !false; {5048#(not (= main_~b~0 0))} is VALID [2022-04-15 10:28:47,774 INFO L272 TraceCheckUtils]: 33: Hoare triple {5048#(not (= main_~b~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:28:47,774 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5064#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:47,775 INFO L290 TraceCheckUtils]: 35: Hoare triple {5064#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:47,775 INFO L290 TraceCheckUtils]: 36: Hoare triple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:49,778 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} {5048#(not (= main_~b~0 0))} #77#return; {5075#(and (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)) (not (= main_~b~0 0)))} is UNKNOWN [2022-04-15 10:28:49,778 INFO L290 TraceCheckUtils]: 38: Hoare triple {5075#(and (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)) (not (= main_~b~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:28:49,779 INFO L272 TraceCheckUtils]: 39: Hoare triple {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:28:49,779 INFO L290 TraceCheckUtils]: 40: Hoare triple {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:49,780 INFO L290 TraceCheckUtils]: 41: Hoare triple {5087#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-15 10:28:49,780 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-15 10:28:49,780 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:28:49,780 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:29:42,243 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-15 10:29:42,243 INFO L290 TraceCheckUtils]: 41: Hoare triple {5087#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-15 10:29:42,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:29:42,244 INFO L272 TraceCheckUtils]: 39: Hoare triple {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:29:42,245 INFO L290 TraceCheckUtils]: 38: Hoare triple {5106#(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); {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:29:42,246 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} {4956#true} #77#return; {5106#(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-15 10:29:42,246 INFO L290 TraceCheckUtils]: 36: Hoare triple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:29:42,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {5119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:29:42,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:29:42,247 INFO L272 TraceCheckUtils]: 33: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:29:42,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-15 10:29:42,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {4956#true} 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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {4956#true} is VALID [2022-04-15 10:29:42,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {4956#true} 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)); {4956#true} is VALID [2022-04-15 10:29:42,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4956#true} is VALID [2022-04-15 10:29:42,247 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L272 TraceCheckUtils]: 24: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 22: Hoare triple {4956#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L272 TraceCheckUtils]: 17: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {4956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4956#true} is VALID [2022-04-15 10:29:42,248 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {4956#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; {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {4956#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); {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-15 10:29:42,249 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:29:42,249 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:29:42,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1442624671] [2022-04-15 10:29:42,249 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:29:42,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [80273889] [2022-04-15 10:29:42,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [80273889] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:29:42,250 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:29:42,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-15 10:29:42,250 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:29:42,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [666483648] [2022-04-15 10:29:42,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [666483648] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:29:42,250 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:29:42,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 10:29:42,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1311826418] [2022-04-15 10:29:42,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:29:42,250 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-15 10:29:42,251 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:29:42,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:29:44,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:29:44,279 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 10:29:44,280 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:29:44,280 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 10:29:44,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 10:29:44,280 INFO L87 Difference]: Start difference. First operand 73 states and 93 transitions. Second operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:29:47,215 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-15 10:29:49,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:49,624 INFO L93 Difference]: Finished difference Result 86 states and 110 transitions. [2022-04-15 10:29:49,624 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 10:29:49,625 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-15 10:29:49,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:29:49,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:29:49,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-15 10:29:49,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:29:49,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-15 10:29:49,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-15 10:29:51,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:29:51,664 INFO L225 Difference]: With dead ends: 86 [2022-04-15 10:29:51,664 INFO L226 Difference]: Without dead ends: 79 [2022-04-15 10:29:51,664 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 75 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-15 10:29:51,665 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 152 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 152 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.8s IncrementalHoareTripleChecker+Time [2022-04-15 10:29:51,665 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 153 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 152 Invalid, 1 Unknown, 0 Unchecked, 3.8s Time] [2022-04-15 10:29:51,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-15 10:29:51,778 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 68. [2022-04-15 10:29:51,779 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:29:51,779 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 10:29:51,779 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 10:29:51,779 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 10:29:51,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:51,781 INFO L93 Difference]: Finished difference Result 79 states and 101 transitions. [2022-04-15 10:29:51,781 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 101 transitions. [2022-04-15 10:29:51,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:29:51,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:29:51,781 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-15 10:29:51,781 INFO L87 Difference]: Start difference. First operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-15 10:29:51,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:51,782 INFO L93 Difference]: Finished difference Result 79 states and 101 transitions. [2022-04-15 10:29:51,783 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 101 transitions. [2022-04-15 10:29:51,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:29:51,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:29:51,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:29:51,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:29:51,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 10:29:51,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-15 10:29:51,784 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 43 [2022-04-15 10:29:51,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:29:51,784 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-15 10:29:51,784 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:29:51,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 83 transitions. [2022-04-15 10:29:53,948 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 82 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:29:53,949 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-15 10:29:53,949 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-15 10:29:53,949 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:29:53,949 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:29:53,965 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 10:29:54,155 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 10:29:54,156 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:29:54,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:29:54,156 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 3 times [2022-04-15 10:29:54,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:29:54,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [31252988] [2022-04-15 10:29:54,157 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:29:54,157 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 4 times [2022-04-15 10:29:54,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:29:54,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1344189064] [2022-04-15 10:29:54,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:29:54,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:29:54,166 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:29:54,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [286313294] [2022-04-15 10:29:54,166 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:29:54,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:29:54,167 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:29:54,167 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:29:54,184 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 10:29:54,204 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:29:54,205 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:29:54,205 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 10:29:54,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:29:54,220 INFO L286 TraceCheckSpWp]: Computing forward predicates...