/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:10:55,458 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:10:55,459 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:10:55,493 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:10:55,494 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:10:55,495 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:10:55,497 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:10:55,498 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:10:55,499 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:10:55,503 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:10:55,503 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:10:55,504 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:10:55,505 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:10:55,506 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:10:55,507 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:10:55,509 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:10:55,509 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:10:55,510 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:10:55,511 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:10:55,515 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:10:55,516 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:10:55,517 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:10:55,517 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:10:55,518 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:10:55,519 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:10:55,523 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:10:55,524 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:10:55,524 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:10:55,524 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:10:55,524 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:10:55,525 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:10:55,525 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:10:55,526 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:10:55,527 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:10:55,527 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:10:55,528 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:10:55,528 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:10:55,528 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:10:55,528 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:10:55,528 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:10:55,529 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:10:55,530 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:10:55,530 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 14:10:55,538 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:10:55,538 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:10:55,539 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:10:55,539 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:10:55,539 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:10:55,539 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:10:55,539 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:10:55,540 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:10:55,540 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:10:55,540 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:10:55,540 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:10:55,540 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:10:55,541 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:10:55,541 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 14:10:55,719 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:10:55,741 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:10:55,743 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:10:55,744 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:10:55,744 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:10:55,745 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c [2022-04-28 14:10:55,792 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3396c2d10/5ef5b2b0d25c4ee2b5605fc3653fe96b/FLAG4ee62ca5d [2022-04-28 14:10:56,142 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:10:56,142 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c [2022-04-28 14:10:56,145 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3396c2d10/5ef5b2b0d25c4ee2b5605fc3653fe96b/FLAG4ee62ca5d [2022-04-28 14:10:56,153 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3396c2d10/5ef5b2b0d25c4ee2b5605fc3653fe96b [2022-04-28 14:10:56,155 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:10:56,156 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:10:56,163 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:10:56,163 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:10:56,166 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:10:56,167 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,167 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@855a58d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56, skipping insertion in model container [2022-04-28 14:10:56,167 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,171 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:10:56,181 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:10:56,294 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c[537,550] [2022-04-28 14:10:56,305 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:10:56,311 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:10:56,320 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c[537,550] [2022-04-28 14:10:56,325 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:10:56,335 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:10:56,335 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56 WrapperNode [2022-04-28 14:10:56,335 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:10:56,336 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:10:56,336 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:10:56,336 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:10:56,343 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,343 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,347 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,348 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,352 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,354 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,355 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,356 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:10:56,356 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:10:56,356 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:10:56,356 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:10:56,357 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (1/1) ... [2022-04-28 14:10:56,365 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:10:56,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:10:56,390 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 14:10:56,391 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 14:10:56,416 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:10:56,416 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:10:56,416 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:10:56,416 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:10:56,416 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:10:56,416 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:10:56,416 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:10:56,416 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:10:56,416 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:10:56,416 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:10:56,416 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:10:56,417 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:10:56,455 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:10:56,456 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:10:56,615 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:10:56,620 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:10:56,620 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:10:56,621 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:10:56 BoogieIcfgContainer [2022-04-28 14:10:56,621 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:10:56,624 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:10:56,624 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:10:56,626 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:10:56,626 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:10:56" (1/3) ... [2022-04-28 14:10:56,627 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46367d63 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:10:56, skipping insertion in model container [2022-04-28 14:10:56,627 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:10:56" (2/3) ... [2022-04-28 14:10:56,627 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46367d63 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:10:56, skipping insertion in model container [2022-04-28 14:10:56,627 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:10:56" (3/3) ... [2022-04-28 14:10:56,628 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound100.c [2022-04-28 14:10:56,636 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:10:56,636 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:10:56,667 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:10:56,671 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@78ff5308, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2fefe59e [2022-04-28 14:10:56,671 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:10:56,676 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:10:56,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:10:56,681 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:10:56,682 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:10:56,682 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:10:56,685 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:10:56,685 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-28 14:10:56,693 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:56,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1507431715] [2022-04-28 14:10:56,699 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:10:56,700 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-28 14:10:56,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:10:56,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [562481417] [2022-04-28 14:10:56,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:10:56,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:10:56,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:56,822 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:10:56,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:56,838 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 14:10:56,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:10:56,838 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:10:56,839 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:10:56,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:56,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:10:56,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:10:56,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:10:56,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:10:56,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 14:10:56,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:56,879 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:10:56,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:10:56,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:10:56,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:10:56,880 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 14:10:56,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:56,885 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:10:56,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:10:56,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:10:56,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:10:56,887 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 14:10:56,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 14:10:56,887 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:10:56,887 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:10:56,887 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-28 14:10:56,888 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-28 14:10:56,888 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-28 14:10:56,888 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:10:56,888 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:10:56,888 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:10:56,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:10:56,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-28 14:10:56,889 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-28 14:10:56,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:10:56,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:10:56,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:10:56,890 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:10:56,890 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-28 14:10:56,890 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:10:56,890 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:10:56,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:10:56,891 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:10:56,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-28 14:10:56,891 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-28 14:10:56,891 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-28 14:10:56,891 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 14:10:56,891 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 14:10:56,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 14:10:56,892 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:10:56,892 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:10:56,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [562481417] [2022-04-28 14:10:56,893 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [562481417] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:10:56,893 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:10:56,893 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:10:56,895 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:10:56,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1507431715] [2022-04-28 14:10:56,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1507431715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:10:56,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:10:56,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:10:56,896 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [622322164] [2022-04-28 14:10:56,896 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:10:56,899 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:10:56,900 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:10:56,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:10:56,928 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:56,929 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:10:56,929 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:56,944 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:10:56,945 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:10:56,947 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:10:57,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:57,058 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 14:10:57,058 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:10:57,058 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:10:57,059 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:10:57,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:10:57,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:10:57,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:10:57,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:10:57,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 14:10:57,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:57,182 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:10:57,182 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 14:10:57,184 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:10:57,189 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:10:57,189 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:10:57,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 14:10:57,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 14:10:57,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:10:57,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:10:57,223 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:10:57,223 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:10:57,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:57,226 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:10:57,226 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:10:57,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:10:57,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:10:57,227 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 14:10:57,227 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 14:10:57,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:57,230 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:10:57,230 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:10:57,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:10:57,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:10:57,230 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:10:57,230 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:10:57,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:10:57,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 14:10:57,233 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 14:10:57,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:10:57,233 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 14:10:57,234 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:10:57,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 14:10:57,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:57,266 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:10:57,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:10:57,267 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:10:57,267 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:10:57,268 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:10:57,268 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:10:57,269 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:10:57,269 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-28 14:10:57,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:57,269 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [815171748] [2022-04-28 14:10:57,272 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:10:57,272 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-28 14:10:57,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:10:57,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493919093] [2022-04-28 14:10:57,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:10:57,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:10:57,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:10:57,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2047339436] [2022-04-28 14:10:57,298 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:10:57,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:10:57,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:10:57,299 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:10:57,300 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 14:10:57,338 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:10:57,338 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:10:57,348 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 14:10:57,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:57,361 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:10:57,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-28 14:10:57,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {277#true} is VALID [2022-04-28 14:10:57,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:10:57,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-28 14:10:57,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-28 14:10:57,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {277#true} is VALID [2022-04-28 14:10:57,552 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {277#true} is VALID [2022-04-28 14:10:57,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:10:57,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:10:57,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:10:57,553 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-28 14:10:57,553 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-28 14:10:57,553 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {277#true} is VALID [2022-04-28 14:10:57,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:10:57,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:10:57,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:10:57,554 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-28 14:10:57,554 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-28 14:10:57,554 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:10:57,554 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:10:57,554 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:10:57,554 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-28 14:10:57,558 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:10:57,558 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:10:57,560 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:10:57,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:10:57,561 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-28 14:10:57,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-28 14:10:57,562 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:10:57,562 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:10:57,562 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:10:57,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1493919093] [2022-04-28 14:10:57,563 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:10:57,563 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2047339436] [2022-04-28 14:10:57,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2047339436] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:10:57,564 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:10:57,565 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:10:57,565 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:10:57,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [815171748] [2022-04-28 14:10:57,566 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [815171748] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:10:57,566 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:10:57,566 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:10:57,566 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [594088926] [2022-04-28 14:10:57,566 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:10:57,568 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:10:57,568 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:10:57,568 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:10:57,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:57,584 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:10:57,584 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:57,585 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:10:57,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:10:57,586 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:10:57,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:57,734 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 14:10:57,734 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:10:57,734 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:10:57,735 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:10:57,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:10:57,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:10:57,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:10:57,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:10:57,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 14:10:57,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:57,777 INFO L225 Difference]: With dead ends: 39 [2022-04-28 14:10:57,778 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 14:10:57,781 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:10:57,782 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:10:57,786 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:10:57,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 14:10:57,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 14:10:57,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:10:57,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:10:57,804 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:10:57,804 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:10:57,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:57,806 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:10:57,806 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:10:57,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:10:57,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:10:57,807 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 14:10:57,807 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 14:10:57,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:57,809 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:10:57,809 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:10:57,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:10:57,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:10:57,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:10:57,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:10:57,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:10:57,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 14:10:57,811 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 14:10:57,811 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:10:57,811 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 14:10:57,811 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:10:57,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 14:10:57,843 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:57,844 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 14:10:57,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:10:57,844 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:10:57,844 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:10:57,863 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 14:10:58,065 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:10:58,066 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:10:58,066 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:10:58,066 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-28 14:10:58,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:58,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [401571219] [2022-04-28 14:10:58,067 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:10:58,067 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-28 14:10:58,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:10:58,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [419659943] [2022-04-28 14:10:58,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:10:58,067 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:10:58,082 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:10:58,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1701837187] [2022-04-28 14:10:58,082 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:10:58,082 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:10:58,082 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:10:58,083 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:10:58,084 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 14:10:58,116 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:10:58,116 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:10:58,117 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 14:10:58,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:58,128 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:10:58,244 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-28 14:10:58,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {585#true} is VALID [2022-04-28 14:10:58,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:10:58,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-28 14:10:58,245 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-28 14:10:58,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {585#true} is VALID [2022-04-28 14:10:58,246 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {585#true} is VALID [2022-04-28 14:10:58,246 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:10:58,246 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:10:58,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:10:58,246 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-28 14:10:58,246 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-28 14:10:58,246 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {585#true} is VALID [2022-04-28 14:10:58,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:10:58,247 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:10:58,247 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:10:58,247 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-28 14:10:58,247 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-28 14:10:58,249 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:10:58,249 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:10:58,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:10:58,250 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-28 14:10:58,251 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:10:58,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:10:58,251 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-28 14:10:58,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:10:58,251 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:10:58,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:10:58,253 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:10:58,253 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-28 14:10:58,253 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-28 14:10:58,253 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-28 14:10:58,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-28 14:10:58,254 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-28 14:10:58,254 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:10:58,254 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:10:58,254 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:10:58,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [419659943] [2022-04-28 14:10:58,254 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:10:58,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1701837187] [2022-04-28 14:10:58,255 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1701837187] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:10:58,255 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:10:58,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:10:58,255 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:10:58,255 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [401571219] [2022-04-28 14:10:58,255 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [401571219] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:10:58,255 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:10:58,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:10:58,255 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1475085693] [2022-04-28 14:10:58,255 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:10:58,256 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 14:10:58,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:10:58,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:10:58,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:58,281 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 14:10:58,281 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:58,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 14:10:58,282 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:10:58,282 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:10:58,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:58,472 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 14:10:58,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 14:10:58,472 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 14:10:58,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:10:58,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:10:58,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:10:58,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:10:58,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:10:58,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 14:10:58,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:58,508 INFO L225 Difference]: With dead ends: 43 [2022-04-28 14:10:58,508 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 14:10:58,509 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 14:10:58,509 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:10:58,510 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:10:58,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 14:10:58,525 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 14:10:58,526 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:10:58,526 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:10:58,526 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:10:58,527 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:10:58,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:58,528 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:10:58,528 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:10:58,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:10:58,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:10:58,529 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 14:10:58,529 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 14:10:58,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:58,531 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:10:58,531 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:10:58,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:10:58,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:10:58,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:10:58,532 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:10:58,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:10:58,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 14:10:58,533 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 14:10:58,534 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:10:58,534 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 14:10:58,534 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:10:58,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-28 14:10:58,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:58,566 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 14:10:58,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:10:58,567 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:10:58,567 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:10:58,591 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 14:10:58,790 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 14:10:58,790 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:10:58,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:10:58,790 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-28 14:10:58,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:58,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1484858867] [2022-04-28 14:10:58,791 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:10:58,791 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-28 14:10:58,791 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:10:58,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986180214] [2022-04-28 14:10:58,791 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:10:58,792 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:10:58,808 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:10:58,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [934662484] [2022-04-28 14:10:58,809 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:10:58,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:10:58,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:10:58,814 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:10:58,817 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 14:10:58,875 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:10:58,876 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:10:58,877 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 14:10:58,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:58,892 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:11:03,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:11:03,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-28 14:11:03,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:11:03,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:11:03,671 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:11:03,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-28 14:11:03,671 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-28 14:11:03,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:11:03,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:11:03,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:11:03,672 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:11:03,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 14:11:03,672 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-28 14:11:03,672 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:11:03,672 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:11:03,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:11:03,672 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:11:03,672 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 14:11:03,673 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:11:03,673 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:11:03,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:11:03,673 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:11:03,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:03,674 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:03,674 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 14:11:03,674 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:03,675 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:03,675 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:03,676 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:03,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:03,680 INFO L290 TraceCheckUtils]: 30: Hoare triple {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:11:03,682 INFO L290 TraceCheckUtils]: 31: Hoare triple {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:11:03,683 INFO L290 TraceCheckUtils]: 32: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:11:03,921 INFO L272 TraceCheckUtils]: 33: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:11:03,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:03,922 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:11:03,922 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:11:03,922 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:11:03,922 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:11:59,810 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:11:59,811 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:11:59,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:59,812 INFO L272 TraceCheckUtils]: 33: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:11:59,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:59,816 INFO L290 TraceCheckUtils]: 31: Hoare triple {1060#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:59,818 INFO L290 TraceCheckUtils]: 30: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1060#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:11:59,818 INFO L290 TraceCheckUtils]: 29: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:11:59,943 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:11:59,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:59,944 INFO L290 TraceCheckUtils]: 26: Hoare triple {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:59,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:11:59,945 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 14:11:59,945 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-28 14:11:59,945 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-28 14:11:59,945 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:11:59,945 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:11:59,945 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:11:59,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:11:59,946 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 14:11:59,946 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:11:59,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:11:59,946 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:11:59,946 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:11:59,946 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-28 14:11:59,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 14:11:59,946 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:11:59,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:11:59,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:11:59,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:11:59,947 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-28 14:11:59,947 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-28 14:11:59,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:11:59,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:11:59,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:11:59,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-28 14:11:59,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:11:59,948 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:11:59,948 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:11:59,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1986180214] [2022-04-28 14:11:59,948 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:11:59,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [934662484] [2022-04-28 14:11:59,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [934662484] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:11:59,948 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:11:59,948 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 14:11:59,949 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:11:59,949 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1484858867] [2022-04-28 14:11:59,949 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1484858867] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:11:59,949 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:11:59,949 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 14:11:59,949 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [652955319] [2022-04-28 14:11:59,949 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:11:59,950 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:11:59,950 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:11:59,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:00,275 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:00,275 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 14:12:00,275 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:00,276 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 14:12:00,276 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 14:12:00,276 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:06,900 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:12:09,234 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:12:11,237 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:12:12,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:12,887 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-28 14:12:12,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 14:12:12,888 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:12:12,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:12:12,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:12,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 14:12:12,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:12,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 14:12:12,891 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-28 14:12:13,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:13,196 INFO L225 Difference]: With dead ends: 49 [2022-04-28 14:12:13,196 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 14:12:13,196 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 7.5s TimeCoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:12:13,197 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 152 mSolverCounterSat, 3 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 152 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.8s IncrementalHoareTripleChecker+Time [2022-04-28 14:12:13,197 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 149 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 152 Invalid, 3 Unknown, 0 Unchecked, 6.8s Time] [2022-04-28 14:12:13,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 14:12:13,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-28 14:12:13,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:12:13,225 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:13,225 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:13,226 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:13,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:13,228 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:12:13,228 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:12:13,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:13,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:13,228 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 14:12:13,229 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 14:12:13,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:13,230 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:12:13,230 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:12:13,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:13,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:13,231 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:12:13,231 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:12:13,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:13,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-28 14:12:13,232 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-28 14:12:13,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:12:13,232 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-28 14:12:13,233 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:13,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-28 14:12:13,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:13,580 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-28 14:12:13,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:12:13,581 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:12:13,581 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:12:13,600 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 14:12:13,781 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:13,782 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:12:13,782 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:12:13,782 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-28 14:12:13,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:13,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [639830792] [2022-04-28 14:12:13,783 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:12:13,783 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-28 14:12:13,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:13,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [523146733] [2022-04-28 14:12:13,783 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:13,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:13,808 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:12:13,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [113618763] [2022-04-28 14:12:13,809 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:12:13,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:13,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:13,810 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:12:13,811 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 14:12:13,849 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:12:13,849 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:12:13,850 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 14:12:13,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:13,858 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:12:14,832 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-28 14:12:14,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#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); {1438#true} is VALID [2022-04-28 14:12:14,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:12:14,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-28 14:12:14,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-28 14:12:14,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1438#true} is VALID [2022-04-28 14:12:14,834 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:12:14,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:12:14,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:12:14,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:12:14,848 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-28 14:12:14,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-28 14:12:14,849 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:12:14,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:12:14,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:12:14,849 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:12:14,849 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-28 14:12:14,849 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:12:14,850 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:12:14,850 INFO L290 TraceCheckUtils]: 19: Hoare triple {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:14,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:14,854 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1508#(<= 1 main_~b~0)} is VALID [2022-04-28 14:12:14,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {1508#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:14,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:14,855 INFO L272 TraceCheckUtils]: 24: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:12:14,855 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:12:14,855 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:12:14,855 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:12:14,856 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:14,856 INFO L290 TraceCheckUtils]: 29: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:14,857 INFO L290 TraceCheckUtils]: 30: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1537#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:14,857 INFO L290 TraceCheckUtils]: 31: Hoare triple {1537#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:12:14,858 INFO L290 TraceCheckUtils]: 32: Hoare triple {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:12:14,860 INFO L272 TraceCheckUtils]: 33: Hoare triple {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:14,860 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:14,861 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-28 14:12:14,861 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-28 14:12:14,861 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-28 14:12:14,861 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:12:36,583 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-28 14:12:36,584 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-28 14:12:36,584 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:36,585 INFO L272 TraceCheckUtils]: 33: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:36,586 INFO L290 TraceCheckUtils]: 32: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:12:36,592 INFO L290 TraceCheckUtils]: 31: Hoare triple {1575#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:12:36,593 INFO L290 TraceCheckUtils]: 30: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1575#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:12:36,593 INFO L290 TraceCheckUtils]: 29: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:12:36,594 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:12:36,594 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:12:36,594 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:12:36,594 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:12:36,594 INFO L272 TraceCheckUtils]: 24: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:12:36,595 INFO L290 TraceCheckUtils]: 23: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:12:36,598 INFO L290 TraceCheckUtils]: 22: Hoare triple {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:12:36,599 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 14:12:36,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:36,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:36,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:12:36,600 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:12:36,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:12:36,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:12:36,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1438#true} is VALID [2022-04-28 14:12:36,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-28 14:12:36,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-28 14:12:36,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:12:36,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#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); {1438#true} is VALID [2022-04-28 14:12:36,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-28 14:12:36,601 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-28 14:12:36,601 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:12:36,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [523146733] [2022-04-28 14:12:36,601 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:12:36,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [113618763] [2022-04-28 14:12:36,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [113618763] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:12:36,602 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:12:36,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-28 14:12:36,602 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:12:36,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [639830792] [2022-04-28 14:12:36,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [639830792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:12:36,602 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:12:36,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 14:12:36,602 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1420753574] [2022-04-28 14:12:36,602 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:12:36,603 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:12:36,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:12:36,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:36,629 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:36,629 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 14:12:36,629 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:36,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 14:12:36,630 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-28 14:12:36,630 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:37,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:37,079 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-28 14:12:37,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 14:12:37,079 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:12:37,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:12:37,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:37,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-28 14:12:37,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:37,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-28 14:12:37,082 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-28 14:12:37,119 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:37,120 INFO L225 Difference]: With dead ends: 59 [2022-04-28 14:12:37,120 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 14:12:37,120 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:12:37,121 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 178 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 178 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:12:37,121 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 129 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 178 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 14:12:37,121 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 14:12:37,161 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-28 14:12:37,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:12:37,161 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:12:37,161 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:12:37,162 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:12:37,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:37,163 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 14:12:37,163 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 14:12:37,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:37,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:37,164 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 14:12:37,164 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 14:12:37,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:37,165 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 14:12:37,165 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 14:12:37,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:37,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:37,165 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:12:37,166 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:12:37,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:12:37,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:12:37,167 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-28 14:12:37,167 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:12:37,167 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:12:37,167 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:37,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:12:37,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:37,525 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:12:37,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 14:12:37,525 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:12:37,526 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:12:37,541 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 14:12:37,726 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:37,726 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:12:37,727 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:12:37,727 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-28 14:12:37,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:37,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [61433985] [2022-04-28 14:12:37,728 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:12:37,728 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-28 14:12:37,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:37,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [453084588] [2022-04-28 14:12:37,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:37,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:37,756 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:12:37,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [898684031] [2022-04-28 14:12:37,756 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:12:37,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:37,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:37,767 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:12:37,768 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 14:12:37,809 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:12:37,810 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:12:37,810 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 14:12:37,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:37,821 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:12:47,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-28 14:12:47,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#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); {2000#true} is VALID [2022-04-28 14:12:47,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:12:47,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-28 14:12:47,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-28 14:12:47,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2000#true} is VALID [2022-04-28 14:12:47,954 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:12:47,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:12:47,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-28 14:12:47,955 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:12:47,956 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:12:47,957 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:47,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:12:47,957 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:12:49,960 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2118#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-28 14:12:49,960 INFO L290 TraceCheckUtils]: 38: Hoare triple {2118#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:12:49,961 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:49,961 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:49,962 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-28 14:12:49,962 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-28 14:12:49,962 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:12:49,962 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:13:02,419 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-28 14:13:02,419 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-28 14:13:02,420 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:02,421 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:13:02,421 INFO L290 TraceCheckUtils]: 38: Hoare triple {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:13:02,422 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:13:02,422 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:02,422 INFO L290 TraceCheckUtils]: 35: Hoare triple {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:02,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:13:02,423 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-28 14:13:02,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:13:02,424 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:13:02,425 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2000#true} is VALID [2022-04-28 14:13:02,425 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-28 14:13:02,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-28 14:13:02,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:13:02,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#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); {2000#true} is VALID [2022-04-28 14:13:02,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-28 14:13:02,425 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:13:02,425 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:13:02,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [453084588] [2022-04-28 14:13:02,425 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:13:02,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [898684031] [2022-04-28 14:13:02,425 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [898684031] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:13:02,425 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:13:02,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 14:13:02,426 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:13:02,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [61433985] [2022-04-28 14:13:02,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [61433985] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:13:02,426 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:13:02,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:13:02,426 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2056986203] [2022-04-28 14:13:02,426 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:13:02,426 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 14:13:02,427 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:13:02,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:04,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:04,449 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:13:04,449 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:04,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:13:04,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 14:13:04,450 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:06,509 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:13:06,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:06,982 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-28 14:13:06,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:13:06,983 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 14:13:06,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:13:06,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:06,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:13:06,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:06,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:13:06,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-28 14:13:09,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:09,013 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:13:09,013 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 14:13:09,013 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:13:09,014 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 12 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:13:09,014 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 123 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 64 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-28 14:13:09,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 14:13:09,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-28 14:13:09,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:13:09,042 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:13:09,042 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:13:09,042 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:13:09,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:09,044 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 14:13:09,044 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:13:09,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:09,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:09,044 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-28 14:13:09,044 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-28 14:13:09,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:09,045 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 14:13:09,045 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:13:09,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:09,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:09,046 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:13:09,046 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:13:09,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:13:09,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-28 14:13:09,047 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-28 14:13:09,047 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:13:09,047 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-28 14:13:09,047 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:09,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-28 14:13:15,954 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:15,954 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 14:13:15,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:13:15,955 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:13:15,955 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:13:15,971 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 14:13:16,155 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:13:16,155 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:13:16,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:13:16,156 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-28 14:13:16,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:16,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1108499268] [2022-04-28 14:13:16,156 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:13:16,156 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-28 14:13:16,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:13:16,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1470901692] [2022-04-28 14:13:16,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:13:16,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:13:16,168 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:13:16,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1583749827] [2022-04-28 14:13:16,168 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:13:16,168 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:13:16,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:13:16,171 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:13:16,172 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 14:13:16,207 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:13:16,208 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:13:16,208 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 14:13:16,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:13:16,223 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:13:49,473 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-28 14:13:49,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#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); {2567#true} is VALID [2022-04-28 14:13:49,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:13:49,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-28 14:13:49,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-28 14:13:49,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2567#true} is VALID [2022-04-28 14:13:49,473 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:13:49,473 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:13:49,474 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-28 14:13:49,475 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:49,475 INFO L290 TraceCheckUtils]: 23: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:49,475 INFO L272 TraceCheckUtils]: 24: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:13:49,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:49,476 INFO L290 TraceCheckUtils]: 26: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:49,476 INFO L290 TraceCheckUtils]: 27: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:49,476 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:49,477 INFO L290 TraceCheckUtils]: 29: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:49,477 INFO L290 TraceCheckUtils]: 30: Hoare triple {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:49,478 INFO L290 TraceCheckUtils]: 31: Hoare triple {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:13:49,479 INFO L290 TraceCheckUtils]: 32: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:13:49,479 INFO L272 TraceCheckUtils]: 33: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:13:49,479 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:49,480 INFO L290 TraceCheckUtils]: 35: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:49,480 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:49,481 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:13:49,481 INFO L290 TraceCheckUtils]: 38: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2692#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:13:49,482 INFO L290 TraceCheckUtils]: 39: Hoare triple {2692#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2696#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:13:49,483 INFO L290 TraceCheckUtils]: 40: Hoare triple {2696#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} is VALID [2022-04-28 14:13:49,484 INFO L290 TraceCheckUtils]: 41: Hoare triple {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} assume !false; {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} is VALID [2022-04-28 14:13:49,675 INFO L272 TraceCheckUtils]: 42: Hoare triple {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:13:49,676 INFO L290 TraceCheckUtils]: 43: Hoare triple {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2711#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:49,676 INFO L290 TraceCheckUtils]: 44: Hoare triple {2711#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-28 14:13:49,676 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-28 14:13:49,677 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 14:13:49,677 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:14:49,226 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-28 14:14:49,227 INFO L290 TraceCheckUtils]: 44: Hoare triple {2711#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-28 14:14:49,227 INFO L290 TraceCheckUtils]: 43: Hoare triple {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2711#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:49,228 INFO L272 TraceCheckUtils]: 42: Hoare triple {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:14:49,228 INFO L290 TraceCheckUtils]: 41: Hoare triple {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:14:49,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {2734#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:14:49,235 INFO L290 TraceCheckUtils]: 39: Hoare triple {2738#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2734#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:14:49,236 INFO L290 TraceCheckUtils]: 38: Hoare triple {2738#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2738#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:14:51,237 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2567#true} #67#return; {2738#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is UNKNOWN [2022-04-28 14:14:51,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:51,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {2754#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2754#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:14:51,239 INFO L272 TraceCheckUtils]: 33: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 32: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {2567#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 30: Hoare triple {2567#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#true} assume !!(0 != ~y~0); {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2567#true} {2567#true} #67#return; {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 26: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L272 TraceCheckUtils]: 24: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 23: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-28 14:14:51,239 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:14:51,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:14:51,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2567#true} is VALID [2022-04-28 14:14:51,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-28 14:14:51,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-28 14:14:51,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:14:51,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#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); {2567#true} is VALID [2022-04-28 14:14:51,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-28 14:14:51,241 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:14:51,241 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:14:51,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1470901692] [2022-04-28 14:14:51,241 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:14:51,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1583749827] [2022-04-28 14:14:51,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1583749827] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:14:51,241 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:14:51,242 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 14:14:51,242 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:14:51,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1108499268] [2022-04-28 14:14:51,242 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1108499268] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:51,242 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:51,242 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:14:51,242 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [538590304] [2022-04-28 14:14:51,242 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:14:51,242 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:14:51,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:14:51,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:14:52,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:14:52,012 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:14:52,012 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:52,012 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:14:52,012 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:14:52,012 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:14:56,683 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.77s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:14:59,094 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.98s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:00,837 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.40s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:03,634 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:14,411 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:25,650 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:26,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:26,803 INFO L93 Difference]: Finished difference Result 61 states and 68 transitions. [2022-04-28 14:15:26,803 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 14:15:26,803 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:15:26,803 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:15:26,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:15:26,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 59 transitions. [2022-04-28 14:15:26,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:15:26,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 59 transitions. [2022-04-28 14:15:26,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 59 transitions. [2022-04-28 14:15:27,384 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:27,387 INFO L225 Difference]: With dead ends: 61 [2022-04-28 14:15:27,387 INFO L226 Difference]: Without dead ends: 59 [2022-04-28 14:15:27,387 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 72 SyntacticMatches, 4 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 16.4s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:15:27,388 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 4 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 18.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 260 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 18.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:27,388 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 183 Invalid, 260 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 253 Invalid, 3 Unknown, 0 Unchecked, 18.1s Time] [2022-04-28 14:15:27,390 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-28 14:15:27,439 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 53. [2022-04-28 14:15:27,439 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:27,439 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:15:27,440 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:15:27,440 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:15:27,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:27,442 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-28 14:15:27,442 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 66 transitions. [2022-04-28 14:15:27,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:27,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:27,442 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 59 states. [2022-04-28 14:15:27,443 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 59 states. [2022-04-28 14:15:27,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:27,444 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-28 14:15:27,444 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 66 transitions. [2022-04-28 14:15:27,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:27,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:27,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:27,445 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:27,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:15:27,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 59 transitions. [2022-04-28 14:15:27,446 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 59 transitions. Word has length 46 [2022-04-28 14:15:27,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:27,446 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 59 transitions. [2022-04-28 14:15:27,447 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:15:27,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 59 transitions. [2022-04-28 14:15:38,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 54 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:38,933 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 59 transitions. [2022-04-28 14:15:38,933 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:15:38,933 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:38,933 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:15:38,956 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 14:15:39,149 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:15:39,149 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:39,149 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:39,149 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-28 14:15:39,150 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:39,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1605894003] [2022-04-28 14:15:39,150 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:15:39,150 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-28 14:15:39,150 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:15:39,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1673469657] [2022-04-28 14:15:39,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:15:39,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:15:39,161 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:15:39,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1271402046] [2022-04-28 14:15:39,161 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:15:39,162 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:15:39,162 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:15:39,179 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:15:39,180 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 14:15:39,221 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:15:39,222 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:15:39,223 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 14:15:39,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:39,235 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:15:42,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {3209#true} call ULTIMATE.init(); {3209#true} is VALID [2022-04-28 14:15:42,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {3209#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); {3209#true} is VALID [2022-04-28 14:15:42,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:15:42,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3209#true} {3209#true} #71#return; {3209#true} is VALID [2022-04-28 14:15:42,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {3209#true} call #t~ret6 := main(); {3209#true} is VALID [2022-04-28 14:15:42,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {3209#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3209#true} is VALID [2022-04-28 14:15:42,315 INFO L272 TraceCheckUtils]: 6: Hoare triple {3209#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:15:42,315 INFO L290 TraceCheckUtils]: 7: Hoare triple {3209#true} ~cond := #in~cond; {3209#true} is VALID [2022-04-28 14:15:42,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {3209#true} assume !(0 == ~cond); {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3209#true} {3209#true} #61#return; {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {3209#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L272 TraceCheckUtils]: 12: Hoare triple {3209#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {3209#true} ~cond := #in~cond; {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {3209#true} assume !(0 == ~cond); {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3209#true} {3209#true} #63#return; {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L272 TraceCheckUtils]: 17: Hoare triple {3209#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L290 TraceCheckUtils]: 18: Hoare triple {3209#true} ~cond := #in~cond; {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L290 TraceCheckUtils]: 19: Hoare triple {3209#true} assume !(0 == ~cond); {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L290 TraceCheckUtils]: 20: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:15:42,316 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3209#true} {3209#true} #65#return; {3209#true} is VALID [2022-04-28 14:15:42,321 INFO L290 TraceCheckUtils]: 22: Hoare triple {3209#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3280#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:15:42,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {3280#(= main_~b~0 main_~y~0)} assume !false; {3280#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:15:42,321 INFO L272 TraceCheckUtils]: 24: Hoare triple {3280#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:15:42,321 INFO L290 TraceCheckUtils]: 25: Hoare triple {3209#true} ~cond := #in~cond; {3209#true} is VALID [2022-04-28 14:15:42,321 INFO L290 TraceCheckUtils]: 26: Hoare triple {3209#true} assume !(0 == ~cond); {3209#true} is VALID [2022-04-28 14:15:42,321 INFO L290 TraceCheckUtils]: 27: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:15:42,322 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3209#true} {3280#(= main_~b~0 main_~y~0)} #67#return; {3280#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:15:42,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {3280#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3302#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 14:15:42,323 INFO L290 TraceCheckUtils]: 30: Hoare triple {3302#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3306#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:15:42,324 INFO L290 TraceCheckUtils]: 31: Hoare triple {3306#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3310#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:15:42,324 INFO L290 TraceCheckUtils]: 32: Hoare triple {3310#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3310#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:15:42,324 INFO L272 TraceCheckUtils]: 33: Hoare triple {3310#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:15:42,324 INFO L290 TraceCheckUtils]: 34: Hoare triple {3209#true} ~cond := #in~cond; {3320#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:42,325 INFO L290 TraceCheckUtils]: 35: Hoare triple {3320#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:42,325 INFO L290 TraceCheckUtils]: 36: Hoare triple {3324#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:42,326 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3324#(not (= |__VERIFIER_assert_#in~cond| 0))} {3310#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {3331#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:15:42,326 INFO L290 TraceCheckUtils]: 38: Hoare triple {3331#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {3331#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:15:42,327 INFO L290 TraceCheckUtils]: 39: Hoare triple {3331#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3338#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:15:42,641 INFO L290 TraceCheckUtils]: 40: Hoare triple {3338#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3342#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:15:42,642 INFO L290 TraceCheckUtils]: 41: Hoare triple {3342#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3342#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:15:42,780 INFO L272 TraceCheckUtils]: 42: Hoare triple {3342#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:42,780 INFO L290 TraceCheckUtils]: 43: Hoare triple {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:42,781 INFO L290 TraceCheckUtils]: 44: Hoare triple {3353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3210#false} is VALID [2022-04-28 14:15:42,781 INFO L290 TraceCheckUtils]: 45: Hoare triple {3210#false} assume !false; {3210#false} is VALID [2022-04-28 14:15:42,781 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:15:42,781 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:16:17,851 INFO L290 TraceCheckUtils]: 45: Hoare triple {3210#false} assume !false; {3210#false} is VALID [2022-04-28 14:16:17,851 INFO L290 TraceCheckUtils]: 44: Hoare triple {3353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3210#false} is VALID [2022-04-28 14:16:17,852 INFO L290 TraceCheckUtils]: 43: Hoare triple {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:17,852 INFO L272 TraceCheckUtils]: 42: Hoare triple {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:16:17,853 INFO L290 TraceCheckUtils]: 41: Hoare triple {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:16:17,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {3376#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:16:17,857 INFO L290 TraceCheckUtils]: 39: Hoare triple {3380#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3376#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:16:17,857 INFO L290 TraceCheckUtils]: 38: Hoare triple {3380#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {3380#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:16:17,860 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3324#(not (= |__VERIFIER_assert_#in~cond| 0))} {3387#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {3380#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:16:17,860 INFO L290 TraceCheckUtils]: 36: Hoare triple {3324#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:17,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {3397#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:17,861 INFO L290 TraceCheckUtils]: 34: Hoare triple {3209#true} ~cond := #in~cond; {3397#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:16:17,861 INFO L272 TraceCheckUtils]: 33: Hoare triple {3387#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:16:17,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {3387#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {3387#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:16:17,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {3407#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3387#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:16:17,864 INFO L290 TraceCheckUtils]: 30: Hoare triple {3209#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3407#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 14:16:17,864 INFO L290 TraceCheckUtils]: 29: Hoare triple {3209#true} assume !!(0 != ~y~0); {3209#true} is VALID [2022-04-28 14:16:17,864 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3209#true} {3209#true} #67#return; {3209#true} is VALID [2022-04-28 14:16:17,864 INFO L290 TraceCheckUtils]: 27: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:16:17,864 INFO L290 TraceCheckUtils]: 26: Hoare triple {3209#true} assume !(0 == ~cond); {3209#true} is VALID [2022-04-28 14:16:17,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {3209#true} ~cond := #in~cond; {3209#true} is VALID [2022-04-28 14:16:17,864 INFO L272 TraceCheckUtils]: 24: Hoare triple {3209#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:16:17,864 INFO L290 TraceCheckUtils]: 23: Hoare triple {3209#true} assume !false; {3209#true} is VALID [2022-04-28 14:16:17,864 INFO L290 TraceCheckUtils]: 22: Hoare triple {3209#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3209#true} {3209#true} #65#return; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 20: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 19: Hoare triple {3209#true} assume !(0 == ~cond); {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 18: Hoare triple {3209#true} ~cond := #in~cond; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L272 TraceCheckUtils]: 17: Hoare triple {3209#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3209#true} {3209#true} #63#return; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 15: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {3209#true} assume !(0 == ~cond); {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {3209#true} ~cond := #in~cond; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L272 TraceCheckUtils]: 12: Hoare triple {3209#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 11: Hoare triple {3209#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3209#true} {3209#true} #61#return; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {3209#true} assume !(0 == ~cond); {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {3209#true} ~cond := #in~cond; {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L272 TraceCheckUtils]: 6: Hoare triple {3209#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3209#true} is VALID [2022-04-28 14:16:17,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {3209#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3209#true} is VALID [2022-04-28 14:16:17,866 INFO L272 TraceCheckUtils]: 4: Hoare triple {3209#true} call #t~ret6 := main(); {3209#true} is VALID [2022-04-28 14:16:17,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3209#true} {3209#true} #71#return; {3209#true} is VALID [2022-04-28 14:16:17,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {3209#true} assume true; {3209#true} is VALID [2022-04-28 14:16:17,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {3209#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); {3209#true} is VALID [2022-04-28 14:16:17,866 INFO L272 TraceCheckUtils]: 0: Hoare triple {3209#true} call ULTIMATE.init(); {3209#true} is VALID [2022-04-28 14:16:17,866 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:16:17,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:16:17,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1673469657] [2022-04-28 14:16:17,866 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:16:17,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1271402046] [2022-04-28 14:16:17,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1271402046] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:16:17,866 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:16:17,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 14:16:17,867 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:16:17,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1605894003] [2022-04-28 14:16:17,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1605894003] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:16:17,867 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:16:17,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:16:17,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [565136686] [2022-04-28 14:16:17,867 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:16:17,868 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:16:17,868 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:16:17,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:16:19,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:16:19,345 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:16:19,345 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:16:19,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:16:19,346 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:16:19,346 INFO L87 Difference]: Start difference. First operand 53 states and 59 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:16:33,205 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:16:37,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:37,203 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2022-04-28 14:16:37,203 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:16:37,203 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:16:37,204 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:16:37,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:16:37,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:16:37,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:16:37,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:16:37,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 14:16:38,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:16:38,322 INFO L225 Difference]: With dead ends: 65 [2022-04-28 14:16:38,322 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 14:16:38,322 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-28 14:16:38,323 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 16 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 244 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 246 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 244 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:16:38,323 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 203 Invalid, 246 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 244 Invalid, 1 Unknown, 0 Unchecked, 5.5s Time] [2022-04-28 14:16:38,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 14:16:38,373 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 53. [2022-04-28 14:16:38,374 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:16:38,374 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:16:38,374 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:16:38,374 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:16:38,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:38,376 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2022-04-28 14:16:38,376 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 70 transitions. [2022-04-28 14:16:38,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:16:38,376 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:16:38,376 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 63 states. [2022-04-28 14:16:38,376 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 63 states. [2022-04-28 14:16:38,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:38,377 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2022-04-28 14:16:38,377 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 70 transitions. [2022-04-28 14:16:38,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:16:38,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:16:38,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:16:38,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:16:38,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:16:38,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 59 transitions. [2022-04-28 14:16:38,379 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 59 transitions. Word has length 46 [2022-04-28 14:16:38,379 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:16:38,379 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 59 transitions. [2022-04-28 14:16:38,380 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:16:38,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 59 transitions. [2022-04-28 14:16:52,701 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 53 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-28 14:16:52,701 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 59 transitions. [2022-04-28 14:16:52,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:16:52,702 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:16:52,702 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:16:52,718 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 14:16:52,902 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:16:52,902 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:16:52,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:16:52,903 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-28 14:16:52,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:16:52,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [287184894] [2022-04-28 14:16:52,903 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:16:52,903 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-28 14:16:52,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:16:52,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [318511979] [2022-04-28 14:16:52,903 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:16:52,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:16:52,920 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:16:52,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2021747996] [2022-04-28 14:16:52,920 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:16:52,920 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:16:52,920 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:16:52,921 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:16:52,954 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 14:16:52,965 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:16:52,965 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:16:52,966 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 14:16:52,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:16:52,986 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:16:57,310 INFO L272 TraceCheckUtils]: 0: Hoare triple {3869#true} call ULTIMATE.init(); {3869#true} is VALID [2022-04-28 14:16:57,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {3869#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); {3869#true} is VALID [2022-04-28 14:16:57,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:16:57,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3869#true} {3869#true} #71#return; {3869#true} is VALID [2022-04-28 14:16:57,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {3869#true} call #t~ret6 := main(); {3869#true} is VALID [2022-04-28 14:16:57,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {3869#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3869#true} is VALID [2022-04-28 14:16:57,310 INFO L272 TraceCheckUtils]: 6: Hoare triple {3869#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:16:57,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {3869#true} ~cond := #in~cond; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 8: Hoare triple {3869#true} assume !(0 == ~cond); {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3869#true} {3869#true} #61#return; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 11: Hoare triple {3869#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L272 TraceCheckUtils]: 12: Hoare triple {3869#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {3869#true} ~cond := #in~cond; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {3869#true} assume !(0 == ~cond); {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 15: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3869#true} {3869#true} #63#return; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L272 TraceCheckUtils]: 17: Hoare triple {3869#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 18: Hoare triple {3869#true} ~cond := #in~cond; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 19: Hoare triple {3869#true} assume !(0 == ~cond); {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:16:57,311 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3869#true} {3869#true} #65#return; {3869#true} is VALID [2022-04-28 14:16:57,312 INFO L290 TraceCheckUtils]: 22: Hoare triple {3869#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:57,312 INFO L290 TraceCheckUtils]: 23: Hoare triple {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:57,312 INFO L272 TraceCheckUtils]: 24: Hoare triple {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:16:57,312 INFO L290 TraceCheckUtils]: 25: Hoare triple {3869#true} ~cond := #in~cond; {3869#true} is VALID [2022-04-28 14:16:57,312 INFO L290 TraceCheckUtils]: 26: Hoare triple {3869#true} assume !(0 == ~cond); {3869#true} is VALID [2022-04-28 14:16:57,312 INFO L290 TraceCheckUtils]: 27: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:16:57,313 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3869#true} {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:57,313 INFO L290 TraceCheckUtils]: 29: Hoare triple {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:57,314 INFO L290 TraceCheckUtils]: 30: Hoare triple {3940#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3965#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:57,315 INFO L290 TraceCheckUtils]: 31: Hoare triple {3965#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3969#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-28 14:16:57,316 INFO L290 TraceCheckUtils]: 32: Hoare triple {3969#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !false; {3969#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-28 14:16:57,316 INFO L272 TraceCheckUtils]: 33: Hoare triple {3969#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:16:57,316 INFO L290 TraceCheckUtils]: 34: Hoare triple {3869#true} ~cond := #in~cond; {3979#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:57,316 INFO L290 TraceCheckUtils]: 35: Hoare triple {3979#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3983#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:57,317 INFO L290 TraceCheckUtils]: 36: Hoare triple {3983#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3983#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:57,317 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3983#(not (= |__VERIFIER_assert_#in~cond| 0))} {3969#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} #67#return; {3990#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-28 14:16:57,318 INFO L290 TraceCheckUtils]: 38: Hoare triple {3990#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !!(0 != ~y~0); {3994#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-28 14:16:57,321 INFO L290 TraceCheckUtils]: 39: Hoare triple {3994#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3998#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:16:57,324 INFO L290 TraceCheckUtils]: 40: Hoare triple {3998#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4002#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:16:57,325 INFO L290 TraceCheckUtils]: 41: Hoare triple {4002#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {4002#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:16:57,639 INFO L272 TraceCheckUtils]: 42: Hoare triple {4002#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4009#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:16:57,640 INFO L290 TraceCheckUtils]: 43: Hoare triple {4009#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4013#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:57,640 INFO L290 TraceCheckUtils]: 44: Hoare triple {4013#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3870#false} is VALID [2022-04-28 14:16:57,640 INFO L290 TraceCheckUtils]: 45: Hoare triple {3870#false} assume !false; {3870#false} is VALID [2022-04-28 14:16:57,640 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:16:57,640 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:17:43,814 INFO L290 TraceCheckUtils]: 45: Hoare triple {3870#false} assume !false; {3870#false} is VALID [2022-04-28 14:17:43,814 INFO L290 TraceCheckUtils]: 44: Hoare triple {4013#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3870#false} is VALID [2022-04-28 14:17:43,815 INFO L290 TraceCheckUtils]: 43: Hoare triple {4009#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4013#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:17:43,815 INFO L272 TraceCheckUtils]: 42: Hoare triple {4029#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4009#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:17:43,815 INFO L290 TraceCheckUtils]: 41: Hoare triple {4029#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4029#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:17:43,820 INFO L290 TraceCheckUtils]: 40: Hoare triple {4036#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4029#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:17:43,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {4040#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4036#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:17:43,822 INFO L290 TraceCheckUtils]: 38: Hoare triple {4040#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {4040#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:17:44,202 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3983#(not (= |__VERIFIER_assert_#in~cond| 0))} {3869#true} #67#return; {4040#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:17:44,202 INFO L290 TraceCheckUtils]: 36: Hoare triple {3983#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3983#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {4056#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3983#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {3869#true} ~cond := #in~cond; {4056#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:17:44,203 INFO L272 TraceCheckUtils]: 33: Hoare triple {3869#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 32: Hoare triple {3869#true} assume !false; {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {3869#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {3869#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 29: Hoare triple {3869#true} assume !!(0 != ~y~0); {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3869#true} {3869#true} #67#return; {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 27: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 26: Hoare triple {3869#true} assume !(0 == ~cond); {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 25: Hoare triple {3869#true} ~cond := #in~cond; {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L272 TraceCheckUtils]: 24: Hoare triple {3869#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:17:44,203 INFO L290 TraceCheckUtils]: 23: Hoare triple {3869#true} assume !false; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {3869#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3869#true} {3869#true} #65#return; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 19: Hoare triple {3869#true} assume !(0 == ~cond); {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 18: Hoare triple {3869#true} ~cond := #in~cond; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L272 TraceCheckUtils]: 17: Hoare triple {3869#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3869#true} {3869#true} #63#return; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 14: Hoare triple {3869#true} assume !(0 == ~cond); {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {3869#true} ~cond := #in~cond; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L272 TraceCheckUtils]: 12: Hoare triple {3869#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {3869#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3869#true} {3869#true} #61#return; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {3869#true} assume !(0 == ~cond); {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L290 TraceCheckUtils]: 7: Hoare triple {3869#true} ~cond := #in~cond; {3869#true} is VALID [2022-04-28 14:17:44,204 INFO L272 TraceCheckUtils]: 6: Hoare triple {3869#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3869#true} is VALID [2022-04-28 14:17:44,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {3869#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3869#true} is VALID [2022-04-28 14:17:44,205 INFO L272 TraceCheckUtils]: 4: Hoare triple {3869#true} call #t~ret6 := main(); {3869#true} is VALID [2022-04-28 14:17:44,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3869#true} {3869#true} #71#return; {3869#true} is VALID [2022-04-28 14:17:44,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {3869#true} assume true; {3869#true} is VALID [2022-04-28 14:17:44,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {3869#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); {3869#true} is VALID [2022-04-28 14:17:44,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {3869#true} call ULTIMATE.init(); {3869#true} is VALID [2022-04-28 14:17:44,205 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:17:44,205 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:17:44,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [318511979] [2022-04-28 14:17:44,205 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:17:44,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2021747996] [2022-04-28 14:17:44,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2021747996] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:17:44,205 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:17:44,205 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 14:17:44,206 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:17:44,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [287184894] [2022-04-28 14:17:44,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [287184894] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:17:44,206 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:17:44,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:17:44,206 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1160377383] [2022-04-28 14:17:44,206 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:17:44,206 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:17:44,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:17:44,206 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:17:44,503 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:17:44,503 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:17:44,503 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:17:44,503 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:17:44,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:17:44,504 INFO L87 Difference]: Start difference. First operand 53 states and 59 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:17:55,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:55,324 INFO L93 Difference]: Finished difference Result 68 states and 76 transitions. [2022-04-28 14:17:55,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:17:55,324 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:17:55,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:17:55,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:17:55,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:17:55,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:17:55,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:17:55,326 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 14:17:57,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 55 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:17:57,378 INFO L225 Difference]: With dead ends: 68 [2022-04-28 14:17:57,378 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 14:17:57,378 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 7.6s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:17:57,379 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 17 mSDsluCounter, 183 mSDsCounter, 0 mSdLazyCounter, 270 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 272 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 270 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-04-28 14:17:57,379 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 209 Invalid, 272 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 270 Invalid, 0 Unknown, 0 Unchecked, 3.6s Time] [2022-04-28 14:17:57,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 14:17:57,453 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 55. [2022-04-28 14:17:57,453 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:17:57,453 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:17:57,454 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:17:57,454 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:17:57,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:57,461 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-28 14:17:57,461 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-28 14:17:57,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:17:57,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:17:57,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 66 states. [2022-04-28 14:17:57,462 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 66 states. [2022-04-28 14:17:57,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:57,464 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-28 14:17:57,464 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-28 14:17:57,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:17:57,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:17:57,465 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:17:57,465 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:17:57,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:17:57,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 62 transitions. [2022-04-28 14:17:57,466 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 62 transitions. Word has length 46 [2022-04-28 14:17:57,466 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:17:57,466 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 62 transitions. [2022-04-28 14:17:57,466 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:17:57,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 62 transitions. [2022-04-28 14:18:10,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 57 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:18:10,876 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2022-04-28 14:18:10,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:18:10,877 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:18:10,877 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:18:10,895 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 14:18:11,077 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 14:18:11,078 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:18:11,078 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:18:11,078 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-28 14:18:11,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:18:11,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1423831442] [2022-04-28 14:18:11,078 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:18:11,078 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-28 14:18:11,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:18:11,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [109910129] [2022-04-28 14:18:11,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:18:11,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:18:11,088 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:18:11,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1978959435] [2022-04-28 14:18:11,089 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:18:11,089 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:18:11,089 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:18:11,089 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:18:11,094 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 14:18:11,122 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:18:11,123 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:18:11,123 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 14:18:11,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:18:11,137 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:18:21,383 INFO L272 TraceCheckUtils]: 0: Hoare triple {4543#true} call ULTIMATE.init(); {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {4543#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); {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4543#true} {4543#true} #71#return; {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {4543#true} call #t~ret6 := main(); {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {4543#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L272 TraceCheckUtils]: 6: Hoare triple {4543#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4543#true} {4543#true} #61#return; {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 11: Hoare triple {4543#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L272 TraceCheckUtils]: 12: Hoare triple {4543#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 13: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 14:18:21,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 14:18:21,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 14:18:21,385 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4543#true} {4543#true} #63#return; {4543#true} is VALID [2022-04-28 14:18:21,385 INFO L272 TraceCheckUtils]: 17: Hoare triple {4543#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:18:21,385 INFO L290 TraceCheckUtils]: 18: Hoare triple {4543#true} ~cond := #in~cond; {4602#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:18:21,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {4602#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4606#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:18:21,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {4606#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4606#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:18:21,386 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4606#(not (= |assume_abort_if_not_#in~cond| 0))} {4543#true} #65#return; {4613#(<= 1 main_~b~0)} is VALID [2022-04-28 14:18:21,386 INFO L290 TraceCheckUtils]: 22: Hoare triple {4613#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4617#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:18:21,387 INFO L290 TraceCheckUtils]: 23: Hoare triple {4617#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {4617#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:18:21,387 INFO L272 TraceCheckUtils]: 24: Hoare triple {4617#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:18:21,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {4543#true} ~cond := #in~cond; {4627#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:18:21,387 INFO L290 TraceCheckUtils]: 26: Hoare triple {4627#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4631#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:18:21,387 INFO L290 TraceCheckUtils]: 27: Hoare triple {4631#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4631#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:18:21,388 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4631#(not (= |__VERIFIER_assert_#in~cond| 0))} {4617#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {4638#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:18:21,388 INFO L290 TraceCheckUtils]: 29: Hoare triple {4638#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4638#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:18:21,389 INFO L290 TraceCheckUtils]: 30: Hoare triple {4638#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4645#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:18:21,390 INFO L290 TraceCheckUtils]: 31: Hoare triple {4645#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:18:21,390 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:18:21,391 INFO L272 TraceCheckUtils]: 33: Hoare triple {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:18:21,391 INFO L290 TraceCheckUtils]: 34: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 14:18:21,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 14:18:21,391 INFO L290 TraceCheckUtils]: 36: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 14:18:21,391 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4543#true} {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:18:21,392 INFO L290 TraceCheckUtils]: 38: Hoare triple {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:18:21,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {4649#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4674#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:18:21,394 INFO L290 TraceCheckUtils]: 40: Hoare triple {4674#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4678#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:18:21,394 INFO L290 TraceCheckUtils]: 41: Hoare triple {4678#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {4678#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:18:21,396 INFO L272 TraceCheckUtils]: 42: Hoare triple {4678#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4685#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:18:21,396 INFO L290 TraceCheckUtils]: 43: Hoare triple {4685#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4689#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:18:21,397 INFO L290 TraceCheckUtils]: 44: Hoare triple {4689#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4544#false} is VALID [2022-04-28 14:18:21,397 INFO L290 TraceCheckUtils]: 45: Hoare triple {4544#false} assume !false; {4544#false} is VALID [2022-04-28 14:18:21,397 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 14:18:21,397 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:19:00,776 INFO L290 TraceCheckUtils]: 45: Hoare triple {4544#false} assume !false; {4544#false} is VALID [2022-04-28 14:19:00,777 INFO L290 TraceCheckUtils]: 44: Hoare triple {4689#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4544#false} is VALID [2022-04-28 14:19:00,777 INFO L290 TraceCheckUtils]: 43: Hoare triple {4685#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4689#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:00,778 INFO L272 TraceCheckUtils]: 42: Hoare triple {4705#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4685#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:19:00,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {4705#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4705#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:19:00,783 INFO L290 TraceCheckUtils]: 40: Hoare triple {4712#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4705#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:19:00,784 INFO L290 TraceCheckUtils]: 39: Hoare triple {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4712#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:19:00,785 INFO L290 TraceCheckUtils]: 38: Hoare triple {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:19:00,786 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4543#true} {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:19:00,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 14:19:00,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 14:19:00,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 14:19:00,786 INFO L272 TraceCheckUtils]: 33: Hoare triple {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:19:00,786 INFO L290 TraceCheckUtils]: 32: Hoare triple {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:19:00,797 INFO L290 TraceCheckUtils]: 31: Hoare triple {4741#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4716#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:19:00,798 INFO L290 TraceCheckUtils]: 30: Hoare triple {4745#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4741#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-28 14:19:00,799 INFO L290 TraceCheckUtils]: 29: Hoare triple {4745#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {4745#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 14:19:00,805 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4631#(not (= |__VERIFIER_assert_#in~cond| 0))} {4752#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} #67#return; {4745#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 14:19:00,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {4631#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4631#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:00,805 INFO L290 TraceCheckUtils]: 26: Hoare triple {4762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4631#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:00,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {4543#true} ~cond := #in~cond; {4762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:19:00,806 INFO L272 TraceCheckUtils]: 24: Hoare triple {4752#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:19:00,806 INFO L290 TraceCheckUtils]: 23: Hoare triple {4752#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} assume !false; {4752#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} is VALID [2022-04-28 14:19:00,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {4772#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4752#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} is VALID [2022-04-28 14:19:00,808 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4606#(not (= |assume_abort_if_not_#in~cond| 0))} {4543#true} #65#return; {4772#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:19:00,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {4606#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4606#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:19:00,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {4785#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4606#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 18: Hoare triple {4543#true} ~cond := #in~cond; {4785#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:19:00,809 INFO L272 TraceCheckUtils]: 17: Hoare triple {4543#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4543#true} {4543#true} #63#return; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L272 TraceCheckUtils]: 12: Hoare triple {4543#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {4543#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4543#true} {4543#true} #61#return; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 8: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L272 TraceCheckUtils]: 6: Hoare triple {4543#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {4543#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L272 TraceCheckUtils]: 4: Hoare triple {4543#true} call #t~ret6 := main(); {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4543#true} {4543#true} #71#return; {4543#true} is VALID [2022-04-28 14:19:00,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 14:19:00,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {4543#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); {4543#true} is VALID [2022-04-28 14:19:00,810 INFO L272 TraceCheckUtils]: 0: Hoare triple {4543#true} call ULTIMATE.init(); {4543#true} is VALID [2022-04-28 14:19:00,810 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 14:19:00,810 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:19:00,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [109910129] [2022-04-28 14:19:00,810 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:19:00,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1978959435] [2022-04-28 14:19:00,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1978959435] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:19:00,810 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:19:00,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-28 14:19:00,811 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:19:00,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1423831442] [2022-04-28 14:19:00,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1423831442] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:19:00,811 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:19:00,811 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 14:19:00,811 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1077096162] [2022-04-28 14:19:00,811 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:19:00,813 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:19:00,813 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:19:00,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:19:00,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:19:00,846 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 14:19:00,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:19:00,846 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 14:19:00,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=457, Unknown=0, NotChecked=0, Total=552 [2022-04-28 14:19:00,847 INFO L87 Difference]: Start difference. First operand 55 states and 62 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:19:02,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:19:02,269 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-28 14:19:02,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 14:19:02,269 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:19:02,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:19:02,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:19:02,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-28 14:19:02,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:19:02,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-28 14:19:02,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 55 transitions. [2022-04-28 14:19:02,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:19:02,317 INFO L225 Difference]: With dead ends: 71 [2022-04-28 14:19:02,317 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 14:19:02,318 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 68 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 153 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=113, Invalid=589, Unknown=0, NotChecked=0, Total=702 [2022-04-28 14:19:02,318 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 25 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 324 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 333 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 324 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 14:19:02,318 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 167 Invalid, 333 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 324 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 14:19:02,319 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 14:19:02,369 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 50. [2022-04-28 14:19:02,369 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:19:02,369 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:19:02,369 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:19:02,369 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:19:02,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:19:02,370 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-28 14:19:02,370 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-28 14:19:02,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:19:02,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:19:02,371 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-28 14:19:02,371 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-28 14:19:02,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:19:02,372 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-28 14:19:02,372 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-28 14:19:02,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:19:02,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:19:02,372 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:19:02,372 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:19:02,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:19:02,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:19:02,373 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 14:19:02,373 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:19:02,373 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:19:02,373 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:19:02,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:19:13,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 14:19:13,662 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:19:13,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:19:13,663 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:19:13,663 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:19:13,680 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 14:19:13,879 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 14:19:13,879 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:19:13,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:19:13,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-28 14:19:13,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:19:13,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1611902513] [2022-04-28 14:19:13,880 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:19:13,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-28 14:19:13,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:19:13,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128838827] [2022-04-28 14:19:13,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:19:13,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:19:13,890 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:19:13,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [501340516] [2022-04-28 14:19:13,890 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:19:13,890 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:19:13,890 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:19:13,892 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:19:13,894 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 14:19:13,934 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 14:19:13,934 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:19:13,935 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 14:19:13,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:19:13,947 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:19:39,130 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:19:44,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {5228#true} call ULTIMATE.init(); {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {5228#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); {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5228#true} {5228#true} #71#return; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L272 TraceCheckUtils]: 4: Hoare triple {5228#true} call #t~ret6 := main(); {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 5: Hoare triple {5228#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L272 TraceCheckUtils]: 6: Hoare triple {5228#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5228#true} {5228#true} #61#return; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {5228#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L272 TraceCheckUtils]: 12: Hoare triple {5228#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:19:44,230 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5228#true} {5228#true} #63#return; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L272 TraceCheckUtils]: 17: Hoare triple {5228#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 18: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5228#true} {5228#true} #65#return; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 22: Hoare triple {5228#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {5228#true} assume !false; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L272 TraceCheckUtils]: 24: Hoare triple {5228#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 26: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 27: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5228#true} {5228#true} #67#return; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 29: Hoare triple {5228#true} assume !!(0 != ~y~0); {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 30: Hoare triple {5228#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 31: Hoare triple {5228#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 32: Hoare triple {5228#true} assume !false; {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L272 TraceCheckUtils]: 33: Hoare triple {5228#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:19:44,231 INFO L290 TraceCheckUtils]: 34: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L290 TraceCheckUtils]: 35: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L290 TraceCheckUtils]: 36: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5228#true} {5228#true} #67#return; {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L290 TraceCheckUtils]: 38: Hoare triple {5228#true} assume !!(0 != ~y~0); {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L290 TraceCheckUtils]: 39: Hoare triple {5228#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {5228#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L290 TraceCheckUtils]: 41: Hoare triple {5228#true} assume !false; {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L272 TraceCheckUtils]: 42: Hoare triple {5228#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:19:44,232 INFO L290 TraceCheckUtils]: 43: Hoare triple {5228#true} ~cond := #in~cond; {5362#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:44,232 INFO L290 TraceCheckUtils]: 44: Hoare triple {5362#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5366#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:44,233 INFO L290 TraceCheckUtils]: 45: Hoare triple {5366#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5366#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:44,233 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5366#(not (= |__VERIFIER_assert_#in~cond| 0))} {5228#true} #67#return; {5373#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:19:44,234 INFO L290 TraceCheckUtils]: 47: Hoare triple {5373#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5377#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:19:44,236 INFO L290 TraceCheckUtils]: 48: Hoare triple {5377#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5381#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:19:45,676 INFO L290 TraceCheckUtils]: 49: Hoare triple {5381#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5385#(and (exists ((aux_div_v_main_~y~0_56_28 Int) (aux_mod_v_main_~y~0_56_28 Int)) (and (= (+ (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_56_28) main_~z~0 (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_56_28) 2)) (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0))) (<= 0 (+ (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28)) (<= 1 aux_mod_v_main_~y~0_56_28) (< aux_mod_v_main_~y~0_56_28 2) (= (div (+ (- 1) (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28) 2) main_~y~0))) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:19:47,678 WARN L290 TraceCheckUtils]: 50: Hoare triple {5385#(and (exists ((aux_div_v_main_~y~0_56_28 Int) (aux_mod_v_main_~y~0_56_28 Int)) (and (= (+ (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_56_28) main_~z~0 (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_56_28) 2)) (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0))) (<= 0 (+ (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28)) (<= 1 aux_mod_v_main_~y~0_56_28) (< aux_mod_v_main_~y~0_56_28 2) (= (div (+ (- 1) (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28) 2) main_~y~0))) (= (mod main_~x~0 2) 0))} assume !false; {5389#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-28 14:19:48,619 INFO L272 TraceCheckUtils]: 51: Hoare triple {5389#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5393#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:19:48,620 INFO L290 TraceCheckUtils]: 52: Hoare triple {5393#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5397#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:48,620 INFO L290 TraceCheckUtils]: 53: Hoare triple {5397#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5229#false} is VALID [2022-04-28 14:19:48,620 INFO L290 TraceCheckUtils]: 54: Hoare triple {5229#false} assume !false; {5229#false} is VALID [2022-04-28 14:19:48,621 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 14:19:48,621 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:20:50,046 INFO L290 TraceCheckUtils]: 54: Hoare triple {5229#false} assume !false; {5229#false} is VALID [2022-04-28 14:20:50,046 INFO L290 TraceCheckUtils]: 53: Hoare triple {5397#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5229#false} is VALID [2022-04-28 14:20:50,046 INFO L290 TraceCheckUtils]: 52: Hoare triple {5393#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5397#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:20:50,047 INFO L272 TraceCheckUtils]: 51: Hoare triple {5373#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5393#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:20:50,047 INFO L290 TraceCheckUtils]: 50: Hoare triple {5373#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5373#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:20:50,054 INFO L290 TraceCheckUtils]: 49: Hoare triple {5419#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5373#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:20:50,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {5423#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5419#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:20:50,057 INFO L290 TraceCheckUtils]: 47: Hoare triple {5423#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {5423#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:20:52,060 WARN L284 TraceCheckUtils]: 46: Hoare quadruple {5366#(not (= |__VERIFIER_assert_#in~cond| 0))} {5228#true} #67#return; {5423#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is UNKNOWN [2022-04-28 14:20:52,060 INFO L290 TraceCheckUtils]: 45: Hoare triple {5366#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5366#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:52,061 INFO L290 TraceCheckUtils]: 44: Hoare triple {5439#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5366#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:52,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {5228#true} ~cond := #in~cond; {5439#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:20:52,061 INFO L272 TraceCheckUtils]: 42: Hoare triple {5228#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:20:52,061 INFO L290 TraceCheckUtils]: 41: Hoare triple {5228#true} assume !false; {5228#true} is VALID [2022-04-28 14:20:52,061 INFO L290 TraceCheckUtils]: 40: Hoare triple {5228#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5228#true} is VALID [2022-04-28 14:20:52,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {5228#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5228#true} is VALID [2022-04-28 14:20:52,061 INFO L290 TraceCheckUtils]: 38: Hoare triple {5228#true} assume !!(0 != ~y~0); {5228#true} is VALID [2022-04-28 14:20:52,061 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5228#true} {5228#true} #67#return; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 36: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 35: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 34: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L272 TraceCheckUtils]: 33: Hoare triple {5228#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 32: Hoare triple {5228#true} assume !false; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 31: Hoare triple {5228#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 30: Hoare triple {5228#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 29: Hoare triple {5228#true} assume !!(0 != ~y~0); {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5228#true} {5228#true} #67#return; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 27: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 26: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 25: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L272 TraceCheckUtils]: 24: Hoare triple {5228#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 23: Hoare triple {5228#true} assume !false; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 22: Hoare triple {5228#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5228#true} {5228#true} #65#return; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 20: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:20:52,062 INFO L290 TraceCheckUtils]: 19: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L272 TraceCheckUtils]: 17: Hoare triple {5228#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5228#true} {5228#true} #63#return; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 15: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 14: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L272 TraceCheckUtils]: 12: Hoare triple {5228#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {5228#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5228#true} {5228#true} #61#return; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 8: Hoare triple {5228#true} assume !(0 == ~cond); {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 7: Hoare triple {5228#true} ~cond := #in~cond; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L272 TraceCheckUtils]: 6: Hoare triple {5228#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 5: Hoare triple {5228#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L272 TraceCheckUtils]: 4: Hoare triple {5228#true} call #t~ret6 := main(); {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5228#true} {5228#true} #71#return; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 2: Hoare triple {5228#true} assume true; {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {5228#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); {5228#true} is VALID [2022-04-28 14:20:52,063 INFO L272 TraceCheckUtils]: 0: Hoare triple {5228#true} call ULTIMATE.init(); {5228#true} is VALID [2022-04-28 14:20:52,064 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 14:20:52,064 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:20:52,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128838827] [2022-04-28 14:20:52,064 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:20:52,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [501340516] [2022-04-28 14:20:52,064 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [501340516] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:20:52,064 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:20:52,064 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-28 14:20:52,064 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:20:52,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1611902513] [2022-04-28 14:20:52,064 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1611902513] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:20:52,064 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:20:52,064 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 14:20:52,065 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [801391202] [2022-04-28 14:20:52,065 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:20:52,065 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-28 14:20:52,065 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:20:52,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:20:54,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:54,886 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 14:20:54,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:20:54,886 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 14:20:54,886 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=140, Unknown=1, NotChecked=0, Total=182 [2022-04-28 14:20:54,887 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:21:06,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:21:06,038 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2022-04-28 14:21:06,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 14:21:06,039 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-28 14:21:06,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:21:06,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:21:06,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-28 14:21:06,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:21:06,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-28 14:21:06,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 41 transitions. [2022-04-28 14:21:06,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:21:06,474 INFO L225 Difference]: With dead ends: 73 [2022-04-28 14:21:06,474 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 14:21:06,474 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 95 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 13.0s TimeCoverageRelationStatistics Valid=54, Invalid=185, Unknown=1, NotChecked=0, Total=240 [2022-04-28 14:21:06,475 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 17 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 18 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:21:06,475 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 129 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 81 Invalid, 0 Unknown, 18 Unchecked, 3.4s Time] [2022-04-28 14:21:06,475 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 14:21:06,528 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 50. [2022-04-28 14:21:06,528 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:21:06,530 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:21:06,530 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:21:06,530 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:21:06,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:21:06,531 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-28 14:21:06,531 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2022-04-28 14:21:06,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:21:06,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:21:06,531 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-28 14:21:06,531 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-28 14:21:06,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:21:06,532 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-28 14:21:06,532 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2022-04-28 14:21:06,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:21:06,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:21:06,533 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:21:06,533 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:21:06,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:21:06,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:21:06,534 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 55 [2022-04-28 14:21:06,534 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:21:06,534 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:21:06,534 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:21:06,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:21:16,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 14:21:16,831 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:21:16,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:21:16,832 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:21:16,832 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:21:16,848 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 14:21:17,032 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 14:21:17,032 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:21:17,033 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:21:17,033 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 5 times [2022-04-28 14:21:17,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:21:17,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1533806026] [2022-04-28 14:21:17,033 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:21:17,033 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 6 times [2022-04-28 14:21:17,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:21:17,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1325796072] [2022-04-28 14:21:17,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:21:17,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:21:17,044 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:21:17,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [429257637] [2022-04-28 14:21:17,044 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:21:17,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:21:17,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:21:17,045 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:21:17,046 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 14:21:17,086 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 14:21:17,086 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:21:17,087 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 14:21:17,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:21:17,101 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:21:45,669 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:21:50,770 INFO L272 TraceCheckUtils]: 0: Hoare triple {5964#true} call ULTIMATE.init(); {5964#true} is VALID [2022-04-28 14:21:50,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {5964#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); {5964#true} is VALID [2022-04-28 14:21:50,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:21:50,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5964#true} {5964#true} #71#return; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {5964#true} call #t~ret6 := main(); {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {5964#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L272 TraceCheckUtils]: 6: Hoare triple {5964#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5964#true} {5964#true} #61#return; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 11: Hoare triple {5964#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L272 TraceCheckUtils]: 12: Hoare triple {5964#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 13: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 15: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5964#true} {5964#true} #63#return; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L272 TraceCheckUtils]: 17: Hoare triple {5964#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 18: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:21:50,771 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5964#true} {5964#true} #65#return; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 22: Hoare triple {5964#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 23: Hoare triple {5964#true} assume !false; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L272 TraceCheckUtils]: 24: Hoare triple {5964#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 26: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5964#true} {5964#true} #67#return; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 29: Hoare triple {5964#true} assume !!(0 != ~y~0); {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 30: Hoare triple {5964#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {5964#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 32: Hoare triple {5964#true} assume !false; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L272 TraceCheckUtils]: 33: Hoare triple {5964#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 34: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 35: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L290 TraceCheckUtils]: 36: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:21:50,772 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5964#true} {5964#true} #67#return; {5964#true} is VALID [2022-04-28 14:21:50,773 INFO L290 TraceCheckUtils]: 38: Hoare triple {5964#true} assume !!(0 != ~y~0); {6083#(not (= main_~y~0 0))} is VALID [2022-04-28 14:21:50,773 INFO L290 TraceCheckUtils]: 39: Hoare triple {6083#(not (= main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {6087#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:21:50,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {6087#(< 0 (+ main_~y~0 1))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6087#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:21:50,774 INFO L290 TraceCheckUtils]: 41: Hoare triple {6087#(< 0 (+ main_~y~0 1))} assume !false; {6087#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:21:50,775 INFO L272 TraceCheckUtils]: 42: Hoare triple {6087#(< 0 (+ main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:21:50,775 INFO L290 TraceCheckUtils]: 43: Hoare triple {5964#true} ~cond := #in~cond; {6100#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:50,775 INFO L290 TraceCheckUtils]: 44: Hoare triple {6100#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6104#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:50,775 INFO L290 TraceCheckUtils]: 45: Hoare triple {6104#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6104#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:50,776 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6104#(not (= |__VERIFIER_assert_#in~cond| 0))} {6087#(< 0 (+ main_~y~0 1))} #67#return; {6111#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:21:50,776 INFO L290 TraceCheckUtils]: 47: Hoare triple {6111#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {6111#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:21:50,777 INFO L290 TraceCheckUtils]: 48: Hoare triple {6111#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6118#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:21:52,779 WARN L290 TraceCheckUtils]: 49: Hoare triple {6118#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6122#(and (exists ((aux_div_v_main_~y~0_63_22 Int) (aux_mod_v_main_~y~0_63_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_63_22) (< 0 (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2) 1)) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)) 2)) (< aux_mod_v_main_~y~0_63_22 2) (not (= aux_mod_v_main_~y~0_63_22 1)))) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-28 14:21:52,988 INFO L290 TraceCheckUtils]: 50: Hoare triple {6122#(and (exists ((aux_div_v_main_~y~0_63_22 Int) (aux_mod_v_main_~y~0_63_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_63_22) (< 0 (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2) 1)) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)) 2)) (< aux_mod_v_main_~y~0_63_22 2) (not (= aux_mod_v_main_~y~0_63_22 1)))) (= (mod main_~x~0 2) 0))} assume !false; {6126#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:21:53,221 INFO L272 TraceCheckUtils]: 51: Hoare triple {6126#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6130#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:21:53,221 INFO L290 TraceCheckUtils]: 52: Hoare triple {6130#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6134#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:53,222 INFO L290 TraceCheckUtils]: 53: Hoare triple {6134#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5965#false} is VALID [2022-04-28 14:21:53,222 INFO L290 TraceCheckUtils]: 54: Hoare triple {5965#false} assume !false; {5965#false} is VALID [2022-04-28 14:21:53,222 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 28 proven. 2 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 14:21:53,222 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:22:35,131 INFO L290 TraceCheckUtils]: 54: Hoare triple {5965#false} assume !false; {5965#false} is VALID [2022-04-28 14:22:35,132 INFO L290 TraceCheckUtils]: 53: Hoare triple {6134#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5965#false} is VALID [2022-04-28 14:22:35,132 INFO L290 TraceCheckUtils]: 52: Hoare triple {6130#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6134#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:22:35,133 INFO L272 TraceCheckUtils]: 51: Hoare triple {6150#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6130#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:22:35,133 INFO L290 TraceCheckUtils]: 50: Hoare triple {6150#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {6150#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:22:35,169 INFO L290 TraceCheckUtils]: 49: Hoare triple {6157#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6150#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:22:35,170 INFO L290 TraceCheckUtils]: 48: Hoare triple {6161#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6157#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:22:35,171 INFO L290 TraceCheckUtils]: 47: Hoare triple {6161#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {6161#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:22:35,173 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6104#(not (= |__VERIFIER_assert_#in~cond| 0))} {6168#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {6161#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:22:35,174 INFO L290 TraceCheckUtils]: 45: Hoare triple {6104#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6104#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:22:35,174 INFO L290 TraceCheckUtils]: 44: Hoare triple {6178#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6104#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:22:35,174 INFO L290 TraceCheckUtils]: 43: Hoare triple {5964#true} ~cond := #in~cond; {6178#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:22:35,174 INFO L272 TraceCheckUtils]: 42: Hoare triple {6168#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:22:35,175 INFO L290 TraceCheckUtils]: 41: Hoare triple {6168#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {6168#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:22:35,176 INFO L290 TraceCheckUtils]: 40: Hoare triple {6188#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6168#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:22:35,177 INFO L290 TraceCheckUtils]: 39: Hoare triple {5964#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {6188#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 14:22:35,177 INFO L290 TraceCheckUtils]: 38: Hoare triple {5964#true} assume !!(0 != ~y~0); {5964#true} is VALID [2022-04-28 14:22:35,177 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5964#true} {5964#true} #67#return; {5964#true} is VALID [2022-04-28 14:22:35,177 INFO L290 TraceCheckUtils]: 36: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:22:35,177 INFO L290 TraceCheckUtils]: 35: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:22:35,177 INFO L290 TraceCheckUtils]: 34: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:22:35,177 INFO L272 TraceCheckUtils]: 33: Hoare triple {5964#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:22:35,177 INFO L290 TraceCheckUtils]: 32: Hoare triple {5964#true} assume !false; {5964#true} is VALID [2022-04-28 14:22:35,177 INFO L290 TraceCheckUtils]: 31: Hoare triple {5964#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {5964#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {5964#true} assume !!(0 != ~y~0); {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5964#true} {5964#true} #67#return; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 26: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L272 TraceCheckUtils]: 24: Hoare triple {5964#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {5964#true} assume !false; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {5964#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5964#true} {5964#true} #65#return; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L272 TraceCheckUtils]: 17: Hoare triple {5964#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5964#true} {5964#true} #63#return; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 14: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:22:35,178 INFO L290 TraceCheckUtils]: 13: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L272 TraceCheckUtils]: 12: Hoare triple {5964#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L290 TraceCheckUtils]: 11: Hoare triple {5964#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5964#true} {5964#true} #61#return; {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L290 TraceCheckUtils]: 9: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L290 TraceCheckUtils]: 8: Hoare triple {5964#true} assume !(0 == ~cond); {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L290 TraceCheckUtils]: 7: Hoare triple {5964#true} ~cond := #in~cond; {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L272 TraceCheckUtils]: 6: Hoare triple {5964#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {5964#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L272 TraceCheckUtils]: 4: Hoare triple {5964#true} call #t~ret6 := main(); {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5964#true} {5964#true} #71#return; {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {5964#true} assume true; {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {5964#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); {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {5964#true} call ULTIMATE.init(); {5964#true} is VALID [2022-04-28 14:22:35,179 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 14:22:35,180 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:22:35,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1325796072] [2022-04-28 14:22:35,180 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:22:35,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [429257637] [2022-04-28 14:22:35,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [429257637] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:22:35,180 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:22:35,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-28 14:22:35,180 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:22:35,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1533806026] [2022-04-28 14:22:35,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1533806026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:22:35,180 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:22:35,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:22:35,180 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [72403767] [2022-04-28 14:22:35,180 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:22:35,181 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 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 55 [2022-04-28 14:22:35,182 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:22:35,185 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 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-28 14:22:37,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:22:37,713 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:22:37,713 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:22:37,714 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:22:37,714 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=239, Unknown=4, NotChecked=0, Total=306 [2022-04-28 14:22:37,714 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 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-28 14:22:40,468 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:22:46,847 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:22:48,850 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:22:56,787 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.50s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:23:00,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:23:00,039 INFO L93 Difference]: Finished difference Result 83 states and 94 transitions. [2022-04-28 14:23:00,039 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 14:23:00,039 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 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 55 [2022-04-28 14:23:00,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:23:00,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 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-28 14:23:00,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 54 transitions. [2022-04-28 14:23:00,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 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-28 14:23:00,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 54 transitions. [2022-04-28 14:23:00,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 54 transitions. [2022-04-28 14:23:08,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 52 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 14:23:08,316 INFO L225 Difference]: With dead ends: 83 [2022-04-28 14:23:08,316 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 14:23:08,317 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 16.2s TimeCoverageRelationStatistics Valid=125, Invalid=423, Unknown=4, NotChecked=0, Total=552 [2022-04-28 14:23:08,317 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 23 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 8 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 167 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 26 IncrementalHoareTripleChecker+Unchecked, 10.3s IncrementalHoareTripleChecker+Time [2022-04-28 14:23:08,318 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [25 Valid, 163 Invalid, 167 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 130 Invalid, 3 Unknown, 26 Unchecked, 10.3s Time] [2022-04-28 14:23:08,318 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 14:23:08,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-28 14:23:08,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:23:08,371 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:23:08,371 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:23:08,371 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:23:08,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:23:08,372 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-28 14:23:08,372 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 14:23:08,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:23:08,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:23:08,372 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 14:23:08,373 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 14:23:08,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:23:08,373 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-28 14:23:08,373 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 14:23:08,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:23:08,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:23:08,374 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:23:08,374 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:23:08,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:23:08,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-04-28 14:23:08,374 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 55 [2022-04-28 14:23:08,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:23:08,375 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-04-28 14:23:08,375 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 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-28 14:23:08,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 52 transitions. [2022-04-28 14:23:21,619 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 46 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-28 14:23:21,619 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 14:23:21,620 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:23:21,620 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:23:21,620 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:23:21,638 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 14:23:21,835 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 14:23:21,835 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:23:21,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:23:21,836 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 5 times [2022-04-28 14:23:21,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:23:21,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1794271359] [2022-04-28 14:23:21,836 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:23:21,836 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 6 times [2022-04-28 14:23:21,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:23:21,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [668890037] [2022-04-28 14:23:21,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:23:21,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:23:21,848 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:23:21,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [809746353] [2022-04-28 14:23:21,848 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:23:21,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:23:21,848 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:23:21,849 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:23:21,850 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 14:23:21,892 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 14:23:21,892 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:23:21,893 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 14:23:21,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:23:21,909 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:23:45,628 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:24:32,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {6690#true} call ULTIMATE.init(); {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {6690#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); {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {6690#true} assume true; {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6690#true} {6690#true} #71#return; {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L272 TraceCheckUtils]: 4: Hoare triple {6690#true} call #t~ret6 := main(); {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {6690#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L272 TraceCheckUtils]: 6: Hoare triple {6690#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {6690#true} ~cond := #in~cond; {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {6690#true} assume !(0 == ~cond); {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {6690#true} assume true; {6690#true} is VALID [2022-04-28 14:24:32,879 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6690#true} {6690#true} #61#return; {6690#true} is VALID [2022-04-28 14:24:32,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {6690#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6690#true} is VALID [2022-04-28 14:24:32,880 INFO L272 TraceCheckUtils]: 12: Hoare triple {6690#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {6690#true} is VALID [2022-04-28 14:24:32,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {6690#true} ~cond := #in~cond; {6690#true} is VALID [2022-04-28 14:24:32,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {6690#true} assume !(0 == ~cond); {6690#true} is VALID [2022-04-28 14:24:32,880 INFO L290 TraceCheckUtils]: 15: Hoare triple {6690#true} assume true; {6690#true} is VALID [2022-04-28 14:24:32,880 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6690#true} {6690#true} #63#return; {6690#true} is VALID [2022-04-28 14:24:32,880 INFO L272 TraceCheckUtils]: 17: Hoare triple {6690#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6690#true} is VALID [2022-04-28 14:24:32,881 INFO L290 TraceCheckUtils]: 18: Hoare triple {6690#true} ~cond := #in~cond; {6749#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:24:32,881 INFO L290 TraceCheckUtils]: 19: Hoare triple {6749#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6753#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:32,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {6753#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6753#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:32,882 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6753#(not (= |assume_abort_if_not_#in~cond| 0))} {6690#true} #65#return; {6760#(<= 1 main_~b~0)} is VALID [2022-04-28 14:24:32,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {6760#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,883 INFO L290 TraceCheckUtils]: 23: Hoare triple {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !false; {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,883 INFO L272 TraceCheckUtils]: 24: Hoare triple {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6690#true} is VALID [2022-04-28 14:24:32,883 INFO L290 TraceCheckUtils]: 25: Hoare triple {6690#true} ~cond := #in~cond; {6690#true} is VALID [2022-04-28 14:24:32,883 INFO L290 TraceCheckUtils]: 26: Hoare triple {6690#true} assume !(0 == ~cond); {6690#true} is VALID [2022-04-28 14:24:32,883 INFO L290 TraceCheckUtils]: 27: Hoare triple {6690#true} assume true; {6690#true} is VALID [2022-04-28 14:24:32,884 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6690#true} {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} #67#return; {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,884 INFO L290 TraceCheckUtils]: 29: Hoare triple {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {6764#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6789#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,887 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,887 INFO L290 TraceCheckUtils]: 32: Hoare triple {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,887 INFO L272 TraceCheckUtils]: 33: Hoare triple {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6690#true} is VALID [2022-04-28 14:24:32,888 INFO L290 TraceCheckUtils]: 34: Hoare triple {6690#true} ~cond := #in~cond; {6690#true} is VALID [2022-04-28 14:24:32,888 INFO L290 TraceCheckUtils]: 35: Hoare triple {6690#true} assume !(0 == ~cond); {6690#true} is VALID [2022-04-28 14:24:32,888 INFO L290 TraceCheckUtils]: 36: Hoare triple {6690#true} assume true; {6690#true} is VALID [2022-04-28 14:24:32,888 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6690#true} {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #67#return; {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,889 INFO L290 TraceCheckUtils]: 38: Hoare triple {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,891 INFO L290 TraceCheckUtils]: 39: Hoare triple {6793#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6818#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:24:32,893 INFO L290 TraceCheckUtils]: 40: Hoare triple {6818#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6822#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-28 14:24:32,894 INFO L290 TraceCheckUtils]: 41: Hoare triple {6822#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} assume !false; {6822#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-28 14:24:32,894 INFO L272 TraceCheckUtils]: 42: Hoare triple {6822#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6690#true} is VALID [2022-04-28 14:24:32,894 INFO L290 TraceCheckUtils]: 43: Hoare triple {6690#true} ~cond := #in~cond; {6832#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:24:32,895 INFO L290 TraceCheckUtils]: 44: Hoare triple {6832#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6836#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:24:32,895 INFO L290 TraceCheckUtils]: 45: Hoare triple {6836#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6836#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:24:32,896 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6836#(not (= |__VERIFIER_assert_#in~cond| 0))} {6822#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} #67#return; {6843#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-28 14:24:32,897 INFO L290 TraceCheckUtils]: 47: Hoare triple {6843#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} assume !!(0 != ~y~0); {6843#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-28 14:24:32,900 INFO L290 TraceCheckUtils]: 48: Hoare triple {6843#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6850#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-28 14:24:34,902 WARN L290 TraceCheckUtils]: 49: Hoare triple {6850#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6854#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (exists ((aux_div_v_main_~y~0_71_22 Int) (aux_mod_v_main_~y~0_71_22 Int)) (and (= (+ (* (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22) (div (- main_~x~0) (- 2))) main_~z~0) (* main_~b~0 main_~a~0)) (<= (div (div main_~b~0 2) 2) (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22)) (<= 0 aux_mod_v_main_~y~0_71_22) (not (= aux_mod_v_main_~y~0_71_22 1)) (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22) 2)) (< aux_mod_v_main_~y~0_71_22 2))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-28 14:24:34,906 INFO L290 TraceCheckUtils]: 50: Hoare triple {6854#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (exists ((aux_div_v_main_~y~0_71_22 Int) (aux_mod_v_main_~y~0_71_22 Int)) (and (= (+ (* (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22) (div (- main_~x~0) (- 2))) main_~z~0) (* main_~b~0 main_~a~0)) (<= (div (div main_~b~0 2) 2) (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22)) (<= 0 aux_mod_v_main_~y~0_71_22) (not (= aux_mod_v_main_~y~0_71_22 1)) (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22) 2)) (< aux_mod_v_main_~y~0_71_22 2))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} assume !false; {6858#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (< (div (* (- 1) (div (div main_~b~0 2) 2)) (- 2)) (+ main_~y~0 1)) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:24:35,461 INFO L272 TraceCheckUtils]: 51: Hoare triple {6858#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (< (div (* (- 1) (div (div main_~b~0 2) 2)) (- 2)) (+ main_~y~0 1)) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6862#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:24:35,462 INFO L290 TraceCheckUtils]: 52: Hoare triple {6862#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6866#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:24:35,462 INFO L290 TraceCheckUtils]: 53: Hoare triple {6866#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6691#false} is VALID [2022-04-28 14:24:35,462 INFO L290 TraceCheckUtils]: 54: Hoare triple {6691#false} assume !false; {6691#false} is VALID [2022-04-28 14:24:35,463 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 17 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:24:35,463 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:25:12,239 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful